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.
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:
Model | Opis | Okno kontekstowe | Maksymalna liczba tokenów wyjściowych | Dane szkoleniowe |
---|---|---|---|---|
gpt-4o-2024-05-13 | gpt-4o obecnie wskazuje na tę wersję. | 128,000 tokenów | 4,096 tokenów | Do października 2023 |
gpt-4o-2024-08-06 | Najnowsza wersja obsługująca Strukturę Wyjściową | 128,000 tokenów | 16,384 tokenów | Do 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!