Tradução de JSON de Longo Contexto com ChatGPT
Aprende a usar o modelo mais recente do ChatGPT e o modo JSON para traduzir um objeto JSON com um longo contexto e transmitir o resultado de volta para JSON.
Aprende a usar o modelo mais recente do ChatGPT e o modo JSON para traduzir um ficheiro JSON com longo contexto e transmitir o resultado de volta para JSON.
Introdução
Já faz algum tempo desde a nossa última publicação 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, maior número máximo de tokens de saída e novas funcionalidades, como o modo JSON, que torna a experiência do desenvolvedor ainda melhor.
Aumento do número máximo de tokens de saída
Vamos ver uma rápida comparação das duas últimas versões do modelo:
Modelo | Descrição | Janela de contexto | Máximo de tokens de saída | Dados de treino |
---|---|---|---|---|
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 atualização que suporta Saídas Estruturadas | 128,000 tokens | 16,384 tokens | Até Out 2023 |
A mudança mais significativa é o aumento no máximo de tokens de saída de 4,096 para 16,384, o que se ajusta 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. Entretanto, o preço até diminuiu, comparado ao modelo anterior de 32K tokens (era caro).
Modo JSON
Como o nome sugere, o modo JSON é muito útil quando quiseres garantir que a saída é um objeto JSON válido. Para o novo modelo, se pode até definir o esquema do objeto JSON de saída usando Saídas Estruturadas.
Vamos começar
Inicialização
Vamos usar o SDK Node.js da OpenAI v4.56.0 nesta publicação 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 transmissão para tradução de longo contexto, pois é mais eficiente e não precisas esperar por muito tempo para obter a saída (por exemplo, um minuto por solicitação). O código ficará assim:
Vamos escrever alguns prompts
Podemos usar o papel de system
para instruir o modelo sobre seu trabalho:
Lembra-te de substituir "es" pelo teu código de localidade alvo. De acordo com nossa experiência, há várias instruções que precisamos dar ao modelo para melhor saída e menos intervenção humana:
Podes te perguntar por que precisamos da última instrução. Esta é a explicação da OpenAI:
Ao usar o modo JSON, deves sempre instruir o modelo a produzir JSON através de alguma mensagem na conversa, por exemplo, através da tua mensagem de sistema. Se não incluíres 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 até atingir o limite de tokens.
Com as instruções acima, podemos colocar o objeto JSON a ser traduzido na mensagem seguinte com o papel do user
. Vamos compor o que temos até agora:
Manipulando a saída
Como estamos a usar o modo de transmissão, precisamos manipular a saída no estilo de transmissão. Aqui está um exemplo:
Conclusão
É isso! Com o novo modelo ChatGPT, a eficiência da tradução de JSON foi ainda mais melhorada, e a qualidade da tradução também é melhor. Espero que esta publicação te ajude a ganhar novos insights sobre ChatGPT e tradução de JSON. Até a próxima publicação!