• chatgpt
  • ai
  • prompt
  • i18n

Tłumaczenie JSON-a z długim kontekstem za pomocą ChatGPT

Dowiedz się, jak używać najnowszego modelu ChatGPT i trybu JSON do tłumaczenia obiektu JSON z długim kontekstem i strumieniowego przekazywania wyników z powrotem do JSON-a.

Gao
Gao
Founder

Dowiedz się, jak używać najnowszego modelu ChatGPT i trybu JSON do tłumaczenia pliku JSON z długim kontekstem i strumieniowego przekazywania wyników z powrotem do JSON-a.

Wprowadzenie

Minęło trochę czasu od naszego ostatniego posta Efektywna internacjonalizacja z ChatGPT, gdzie pokazaliśmy, jak używać ChatGPT do tłumaczenia obiektu JSON. W miarę jak model się rozwijał, możliwości tłumaczeniowe uległy znacznemu poprawieniu dzięki większemu oknu kontekstowemu, zwiększonej maksymalnej liczbie tokenów wyjściowych oraz nowym funkcjom, takim jak tryb JSON, który jeszcze bardziej poprawia doświadczenie dewelopera.

Zwiększona maksymalna liczba tokenów wyjściowych

Zobaczmy szybkie porównanie dwóch ostatnich wersji modelu:

ModelOpisOkno kontekstoweMaksymalna liczba tokenów wyjściowychDane szkoleniowe
gpt-4o-2024-05-13gpt-4o obecnie wskazuje na tę wersję.128,000 tokenów4,096 tokenówDo października 2023
gpt-4o-2024-08-06Najnowsza wersja obsługująca Strukturę Wyjściową128,000 tokenów16,384 tokenówDo października 2023

Najważniejszą zmianą jest zwiększenie maksymalnej liczby tokenów wyjściowych z 4,096 do 16,384, co idealnie pasuje do scenariusza tłumaczenia, ponieważ wynik tłumaczenia zazwyczaj ma mniej więcej tę samą długość lub więcej niż wejście. Tymczasem cena nawet spadła w porównaniu do poprzedniego modelu z 32K tokenami (to było drogie).

Tryb JSON

Jak sama nazwa wskazuje, tryb JSON jest bardzo przydatny, gdy chcesz upewnić się, że wyjście jest prawidłowym obiektem JSON. Dla nowego modelu możesz nawet zdefiniować schemat wyjściowego obiektu JSON używając Struktury Wyjściowej.

Zacznij

Inicjalizacja

W tym poście użyjemy SDK dla Node.js OpenAI w wersji v4.56.0 do demonstracji. Śmiało możesz używać dowolnej innej metody lub języka, które preferujesz.

Najpierw musimy zainicjować klienta OpenAI:

Serdecznie polecam używanie trybu strumieniowego do tłumaczenia z długim kontekstem, ponieważ jest bardziej wydajny i nie musisz długo czekać na uzyskanie wyjścia (na przykład, jedna minuta na jedno żądanie). Kod będzie wyglądał tak:

Napiszmy kilka prompterów

Możemy użyć roli system do instrukcji dla modelu o jego zadaniu:

Pamiętaj, aby zastąpić "es" kodem języka docelowego. Zgodnie z naszym doświadczeniem, jest kilka instrukcji, które musimy przekazać modelowi, aby uzyskać lepsze wyniki i mniej ingerencji ludzkiej:

Możesz się zastanawiać, dlaczego potrzebujemy ostatniej instrukcji. To jest wyjaśnienie od OpenAI:

Podczas korzystania z trybu JSON, zawsze musisz poinstruować model, aby generować JSON poprzez jakąś wiadomość w rozmowie, na przykład poprzez wiadomość systemową. Jeśli nie zawierasz wyraźnej instrukcji generowania JSON, model może generować niekończący się strumień białych znaków, a żądanie może być kontynuowane aż do osiągnięcia limitu tokenów.

Z powyższymi instrukcjami możemy umieścić obiekt JSON do przetłumaczenia w poniższej wiadomości z rolą user. Złóżmy to, co mamy do tej pory:

Obsługa wyjścia

Ponieważ używamy trybu strumieniowego, musimy obsługiwać wyjście w stylu strumieniowym. Oto przykład:

Podsumowanie

To wszystko! Dzięki nowemu modelowi ChatGPT efektywność tłumaczenia JSON-a została jeszcze bardziej poprawiona, a jakość tłumaczenia także uległa polepszeniu. Mam nadzieję, że ten post pomoże ci zdobyć nowe spostrzeżenia na temat ChatGPT i tłumaczenia JSON-a. Do zobaczenia w następnym poście!