Tradução de JSON de longo contexto com ChatGPT
Aprenda como usar o último modelo do ChatGPT e o modo JSON para traduzir um objeto JSON com longo contexto e transmitir a saída de volta para JSON.
Aprenda como usar o último modelo do ChatGPT e o modo JSON para traduzir um arquivo JSON com longo contexto e transmitir a saída de volta para JSON.
Introdução
Já faz um tempo desde o nosso último post Internacionalização eficiente com ChatGPT, onde mostramos como usar o ChatGPT para traduzir um objeto JSON. À medida que o modelo evoluiu, as capacidades de tradução melhoraram significativamente com uma janela de contexto mais longa, incremento no número máximo de tokens de saída e novas funcionalidades como o modo JSON, que melhora ainda mais a experiência do desenvolvedor.
Aumento dos tokens máximos de saída
Vamos ver uma rápida comparação entre as duas últimas versões do modelo:
Modelo | Descrição | Janela de contexto | Máximo de tokens de saída | Dados de treinamento |
---|---|---|---|---|
gpt-4o-2024-05-13 | gpt-4o atualmente aponta para esta versão. | 128.000 tokens | 4.096 tokens | Até out 2023 |
gpt-4o-2024-08-06 | Última opção que suporta Saídas Estruturadas | 128.000 tokens | 16.384 tokens | Até out 2023 |
A mudança mais significativa é o aumento no número máximo de tokens de saída de 4.096 para 16.384, o que se adapta perfeitamente ao cenário de tradução, já que a saída da tradução geralmente tem aproximadamente o mesmo comprimento ou mais do que a entrada. Enquanto isso, o preço até diminuiu, em comparação com o modelo anterior de 32K tokens (era caro).
Modo JSON
Como o nome sugere, o modo JSON é muito útil quando você deseja garantir que a saída seja um objeto JSON válido. Para o novo modelo, você pode até definir o esquema do objeto JSON de saída usando Saídas Estruturadas.
Comece agora
Inicialização
Usaremos o SDK Node.js da OpenAI v4.56.0 neste post para demonstração. Sinta-se à vontade para usar qualquer outro método ou linguagem de sua preferência.
Primeiro, precisamos inicializar o cliente da OpenAI:
Recomendo fortemente usar o modo de streaming para tradução de longo contexto, pois é mais eficiente e você não precisa esperar muito tempo para obter a saída (por exemplo, um minuto para uma solicitação). O código ficará assim:
Vamos escrever alguns prompts
Podemos usar o papel system
para instruir o modelo sobre seu trabalho:
Lembre-se de substituir "es" pelo código do seu local de destino. De acordo com nossa experiência, há várias instruções que precisamos dar ao modelo para uma saída melhor e menos intervenção humana:
Você pode se perguntar por que precisamos da última instrução. Esta é a explicação da OpenAI:
Ao usar o modo JSON, você deve sempre instruir o modelo a produzir JSON através de alguma mensagem na conversa, por exemplo, através de sua mensagem de sistema. Se você não incluir uma instrução explícita para gerar JSON, o modelo pode gerar um fluxo interminável de espaços em branco e a solicitação pode continuar correndo até atingir o limite de tokens.
Com as instruções acima, podemos colocar o objeto JSON a ser traduzido na seguinte mensagem com o papel user
. Vamos compor o que temos até agora:
Lidando com a saída
Como estamos usando o modo de streaming, precisamos lidar com a saída em estilo de streaming. Aqui está um exemplo:
Conclusão
É isso! Com o novo modelo do ChatGPT, a eficiência da tradução de JSON foi ainda mais aprimorada, e a qualidade da tradução também está melhor. Espero que este post te ajude a obter novos insights sobre o ChatGPT e a tradução de JSON. Até o próximo post!