Traduzione di JSON a lungo contesto con ChatGPT
Impara come utilizzare l'ultimo modello ChatGPT e la modalità JSON per tradurre un oggetto JSON con lungo contesto e restituire l'output in JSON.
Impara come utilizzare l'ultimo modello ChatGPT e la modalità JSON per tradurre un file JSON con lungo contesto e restituire l'output in JSON.
Introduzione
È passato un po' di tempo dal nostro ultimo post Internazionalizzazione efficiente con ChatGPT, dove abbiamo mostrato come utilizzare ChatGPT per tradurre un oggetto JSON. Con l'evoluzione del modello, le capacità di traduzione sono state significativamente migliorate con una finestra di contesto più lunga, un aumento dei token di output massimi e nuove funzionalità come la modalità JSON che rende l'esperienza degli sviluppatori ancora migliore.
Aumento dei token di output massimi
Vediamo un rapido confronto tra le ultime due versioni del modello:
Modello | Descrizione | Finestra di contesto | Token di output massimi | Dati di addestramento |
---|---|---|---|---|
gpt-4o-2024-05-13 | gpt-4o attualmente fa riferimento a questa versione. | 128,000 token | 4,096 token | Fino a Ott 2023 |
gpt-4o-2024-08-06 | Ultimo snapshot che supporta Output Strutturati | 128,000 token | 16,384 token | Fino a Ott 2023 |
Il cambiamento più significativo è l'aumento del numero massimo di token di output da 4,096 a 16,384, il che si adatta perfettamente allo scenario di traduzione poiché l'output della traduzione ha solitamente circa la stessa lunghezza o più dell'input. Nel frattempo, il prezzo è persino diminuito, rispetto al modello precedente a 32K token (era costoso).
Modalità JSON
Come suggerisce il nome, la modalità JSON è molto utile quando si vuole garantire che l'output sia un oggetto JSON valido. Per il nuovo modello, è possibile persino definire lo schema dell'oggetto JSON di output utilizzando Output Strutturati.
Inizia
Inizializzazione
Utilizzeremo l'SDK di Node.js v4.56.0 di OpenAI in questo post per dimostrazione. Sentiti libero di utilizzare qualsiasi altro metodo o linguaggio preferisci.
Per prima cosa, dobbiamo inizializzare il client OpenAI:
Consiglio vivamente di utilizzare la modalità streaming per la traduzione di lungo contesto, poiché è più efficiente e non devi aspettare a lungo per ottenere l'output (ad esempio, un minuto per una richiesta). Il codice apparirà così:
Scriviamo alcuni prompt
Possiamo utilizzare il ruolo system
per istruire il modello sul suo lavoro:
Ricorda di sostituire "es" con il codice della lingua di destinazione. Secondo la nostra esperienza, ci sono diverse istruzioni che dobbiamo dire al modello per ottenere un miglior output e meno intervento umano:
Potresti chiederti perché abbiamo bisogno dell'ultima istruzione. Questa è la spiegazione di OpenAI:
Quando si utilizza la modalità JSON, è necessario sempre istruire il modello a produrre JSON tramite un messaggio nella conversazione, ad esempio tramite il tuo messaggio di sistema. Se non includi un'istruzione esplicita per generare JSON, il modello potrebbe generare un flusso infinito di spazi bianchi e la richiesta potrebbe continuare fino a raggiungere il limite di token.
Con le istruzioni sopra, possiamo inserire l'oggetto JSON da tradurre nel seguente messaggio con il ruolo user
. Componiamo quello che abbiamo finora:
Gestione dell'output
Poiché stiamo utilizzando la modalità streaming, dobbiamo gestire l'output con lo stile di streaming. Ecco un esempio:
Conclusione
Ecco fatto! Con il nuovo modello di ChatGPT, l'efficienza della traduzione JSON è stata ulteriormente migliorata e la qualità della traduzione è anche migliore. Spero che questo post ti aiuti a ottenere nuove intuizioni su ChatGPT e la traduzione JSON. Alla prossima post!