Svenska
  • chatgpt
  • ai
  • uppmaning
  • i18n

Lång kontext JSON-översättning med ChatGPT

Lär dig hur du använder den senaste ChatGPT-modellen och JSON-läge för att översätta ett JSON-objekt med lång kontext och strömma tillbaka utdata till JSON.

Gao
Gao
Founder

Lär dig hur du använder den senaste ChatGPT-modellen och JSON-läge för att översätta en JSON-fil med lång kontext och strömma tillbaka utdata till JSON.

Introduktion

Det har gått ett tag sedan vårt senaste inlägg Effektiv internationalisering med ChatGPT, där vi visade hur man använder ChatGPT för att översätta ett JSON-objekt. Eftersom modellen har utvecklats har översättningsmöjligheterna förbättrats avsevärt med ett längre kontextfönster, ökat max antal utmatningstokens och nya funktioner som JSON-läge som gör utvecklarens upplevelse ännu bättre.

Ökat max antal utmatningstokens

Låt oss se en snabb jämförelse av de senaste två versionerna av modellen:

ModellBeskrivningKontextfönsterMax utmatningstokensTräningsdata
gpt-4o-2024-05-13gpt-4o pekar för närvarande på denna version.128 000 tokens4 096 tokensUpp till okt 2023
gpt-4o-2024-08-06Senaste ögonblicksbild som stöder strukturerade utdata128 000 tokens16 384 tokensUpp till okt 2023

Den mest betydande förändringen är ökningen av maximalt antal utmatningstokens från 4 096 till 16 384, vilket passar översättningsscenariot perfekt eftersom utdatan för översättningen vanligtvis har ungefär samma längd eller mer än indatan. Samtidigt gick priset till och med ner, jämfört med den tidigare 32K token-modellen (den var dyr).

JSON-läge

Som namnet antyder är JSON-läge mycket användbart när du vill säkerställa att utdatan är ett giltigt JSON-objekt. För den nya modellen kan du till och med definiera schemat för utdata JSON-objektet med strukturade utdata.

Kom igång

Initiering

Vi använder OpenAIs Node.js SDK v4.56.0 i detta inlägg för demonstration. Känn dig fri att använda någon annan metod eller språk du föredrar.

Först måste vi initiera OpenAI-klienten:

Jag rekommenderar starkt att använda strömningsläget för långkontextöversättning, eftersom det är mer effektivt och du behöver inte vänta länge för att få utdata (till exempel en minut för en begäran). Koden kommer att se ut så här:

Låt oss skriva några uppmaningar

Vi kan använda system rollen för att instruera modellen för dess jobb:

Kom ihåg att ersätta "es" med din mål-locale-kod. Enligt vår erfarenhet finns det flera instruktioner som vi behöver säga modellen för bättre utdata och mindre mänsklig intervention:

Du kanske undrar varför vi behöver den sista instruktionen. Detta är förklaringen från OpenAI:

När du använder JSON-läge måste du alltid instruera modellen att producera JSON genom något meddelande i konversationen, till exempel genom ditt systemmeddelande. Om du inte inkluderar en explicit instruktion att generera JSON kan modellen generera en oändlig ström av blanksteg och förfrågan kan köras kontinuerligt tills den når token-gränsen.

Med ovanstående instruktioner kan vi lägga JSON-objektet som ska översättas i följande meddelande med user rollen. Låt oss komponera vad vi har hittills:

Hantera utdatan

Eftersom vi använder strömningsläget, måste vi hantera utdatan med strömningsstil. Här är ett exempel:

Slutsats

Det var allt! Med den nya ChatGPT-modellen har effektiviteten för JSON-översättning ytterligare förbättrats, och översättningskvaliteten är också bättre. Jag hoppas att detta inlägg hjälper dig att få nya insikter om ChatGPT och JSON-översättning. Ses i nästa inlägg!