Traducción de JSON de contexto largo con ChatGPT
Aprende cómo usar el último modelo de ChatGPT y el modo JSON para traducir un objeto JSON con un contexto largo y transmitir la salida de vuelta a JSON.
Aprende cómo usar el último modelo de ChatGPT y el modo JSON para traducir un archivo JSON con un contexto largo y transmitir la salida de vuelta a JSON.
Introducción
Ha pasado un tiempo desde nuestra última publicación Internacionalización eficiente con ChatGPT, donde mostramos cómo usar ChatGPT para traducir un objeto JSON. A medida que el modelo ha evolucionado, las capacidades de traducción han mejorado significativamente con una ventana de contexto más larga, un aumento en el máximo de tokens de salida y nuevas características como el modo JSON que hacen que la experiencia del desarrollador sea aún mejor.
Aumento del máximo de tokens de salida
Veamos una comparación rápida de las dos últimas versiones del modelo:
Modelo | Descripción | Ventana de contexto | Máximo de tokens de salida | Datos de entrenamiento |
---|---|---|---|---|
gpt-4o-2024-05-13 | gpt-4o actualmente apunta a esta versión. | 128,000 tokens | 4,096 tokens | Hasta oct 2023 |
gpt-4o-2024-08-06 | Última instantánea que soporta Salidas Estructuradas | 128,000 tokens | 16,384 tokens | Hasta oct 2023 |
El cambio más significativo es el aumento en el máximo de tokens de salida de 4,096 a 16,384, lo que se adapta perfectamente al escenario de traducción, ya que la salida de la traducción usualmente tiene aproximadamente la misma longitud o más que la entrada. Mientras tanto, el precio incluso ha bajado, en comparación con el modelo de 32K tokens anterior (era caro).
Modo JSON
Como su nombre lo indica, el modo JSON es muy útil cuando quieres asegurarte de que la salida sea un objeto JSON válido. Para el nuevo modelo, incluso puedes definir el esquema del objeto JSON de salida usando Salidas Estructuradas.
Comenzando
Inicialización
Usaremos la SDK Node.js de OpenAI v4.56.0 en esta publicación para la demostración. Siéntase libre de usar cualquier otro método o lenguaje que prefiera.
Primero, necesitamos inicializar el cliente de OpenAI:
Recomiendo encarecidamente usar el modo de transmisión para la traducción de contexto largo, ya que es más eficiente y no necesitas esperar mucho tiempo para obtener la salida (por ejemplo, un minuto por solicitud). El código se verá así:
Escribamos algunas instrucciones
Podemos usar el rol system
para instruir al modelo sobre su tarea:
Recuerda reemplazar "es" con el código de tu destino locales. Según nuestra experiencia, hay varias instrucciones que necesitamos decirle al modelo para una mejor salida y menos intervención humana:
Te puedes preguntar por qué necesitamos la última instrucción. Esta es la explicación de OpenAI:
Cuando uses el modo JSON, siempre debes instruir al modelo para que produzca JSON a través de algún mensaje en la conversación, por ejemplo, a través de tu mensaje del sistema. Si no incluyes una instrucción explícita para generar JSON, el modelo puede generar un flujo interminable de espacios en blanco y la solicitud puede ejecutarse continuamente hasta que alcance el límite de tokens.
Con las instrucciones anteriores, podemos colocar el objeto JSON que se va a traducir en el siguiente mensaje con el rol user
. Componemos lo que tenemos hasta ahora:
Manejo de la salida
Dado que estamos usando el modo de transmisión, necesitamos manejar la salida con el estilo de transmisión. Aquí hay un ejemplo:
Conclusión
¡Eso es todo! Con el nuevo modelo de ChatGPT, la eficiencia de la traducción de JSON se ha mejorado aún más, y la calidad de la traducción también es mejor. Espero que esta publicación te ayude a obtener algunos nuevos conocimientos sobre ChatGPT y la traducción de JSON. ¡Nos vemos en la próxima publicación!