Hola,\n\nHe habilitado Discourse AI en nuestro foro comunitario y he comenzado a rellenar datos en varios idiomas. Alrededor del 60% de las publicaciones y temas están traducidos, pero en el proceso, estoy recibiendo MUCHOS errores en la consola (ai_translation_verbose_logs está habilitado) y ahora el rellenado de datos se ha detenido en gran medida:\n\n\nDiscourseAi::Translation: Failed to translate topic 563 to de: Validation failed: Title can't be blank, Fancy title can't be blank /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.3/\n\nDiscourseAi::Translation: Failed to translate post 582 to pl_PL: Validation failed: Raw can't be blank, Cooked can't be blank /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.3/lib/a\n\n\nLo extraño es:\n\n* Las publicaciones y temas mencionados parecen bastante normales, tienen diferentes tipos de títulos y cuerpos, tanto simples como complejos. Otros similares se tradujeron con éxito.\n* En un segundo o tercer intento, a menudo se traducen con éxito.\n* Estoy usando una persona personalizada para las publicaciones, pero esto sucede tanto en la persona incorporada de Traductor de Publicaciones como en la incorporada de traducciones de títulos de temas.\n* Sucede en todos los modelos que probé: Gemini-2.5-flash (sin pensar), Gemini-2.5-flash (pensando), GPT5 y GPT5-mini.\n* Sucede en todos los idiomas por igual (en, es, pt, de, pl_PL, fr, nl).\n\n¿Es posible registrar los prompts completos y las respuestas del modelo para depurar esto más a fondo?\n\nEstoy probando los mismos prompts manualmente en todos estos modelos y siempre responden con éxito.
He encontrado ai_api_audit_logs y creo que he encontrado el problema.
Cuando se envía la traducción, hay una función get_max_tokens que asigna el número máximo de tokens basándose en la longitud del texto.
El problema es que se consume en su mayor parte por el razonamiento. Mira este registro de auditoría, el límite se estableció en 1000, y el razonamiento consumió los 1000 completos antes de que siquiera comenzara a generar la salida.
El límite para los modelos de razonamiento debería ser mucho mayor.
data: {"id":"chatcmpl-CQ7XU4Ep16RClb7OZQAxOXN9JWgIG","object":"chat.completion.chunk","created":1760341544,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"finish_reason":null}],"usage":null,"obfuscation":"dPNNK7ojEf"}
data: {"id":"chatcmpl-CQ7XU4Ep16RClb7OZQAxOXN9JWgIG","object":"chat.completion.chunk","created":1760341544,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"finish_reason":"length"}],"usage":null,"obfuscation":"dM2r"}
data: {"id":"chatcmpl-CQ7XU4Ep16RClb7OZQAxOXN9JWgIG","object":"chat.completion.chunk","created":1760341544,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":1075,"completion_tokens":1000,"total_tokens":2075,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":1000,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"j4"}
data: [DONE]
Simplemente no recomiendo usar ningún tipo de modelo de pensamiento para tareas de traducción.
Mi experiencia es todo lo contrario. Tengo un conjunto de instrucciones que quiero que se sigan y que requieren la comprensión del contexto, las cuales son ignoradas por los modelos que no piensan o se aplican en situaciones erróneas. Acabo de traducir una aplicación completa de esta manera: más de 3000 cadenas, con modelos de razonamiento que dan resultados mucho mejores.
Reduje el esfuerzo de pensamiento a bajo según mis hallazgos y obtuve todas las traducciones. Pero creo que limitar los tokens de salida de esa manera es contraproducente, ya que los modelos de pensamiento no tienen restricciones para ser utilizados en traducciones, y el usuario no tiene ni idea de por qué está fallando.
La solución podría ser tan simple como multiplicar por 2 si el LLM tiene el pensamiento habilitado. O exponer un multiplicador como una opción de configuración.
Tuvimos que limitar max_tokens ya que nuestro uso de salidas estructuradas significaba que muchos modelos pequeños podían caer fácilmente en bucles infinitos durante las traducciones.
Creo que la versión más reciente de la API de Respuestas de OpenAI aplica max_tokens sin contar los tokens de pensamiento, lo que resuelve este problema.
Estoy probando el último GPT-5. Vi exactamente el mismo problema con Gemini 2.5 Pro y 2.5 Flash. ¿Por qué no aumentar un poco el límite?
He gastado bastante en intentos fallidos, de los cuales ni siquiera me habría enterado si no hubiera habilitado el registro de depuración, y luego tuve que investigar en el Explorador de Datos para encontrar los registros. Todo esto mientras usaba un creador de modelos predefinido.
Desactivé la transmisión y eso lo hizo mucho mejor (y todavía está pensando)
Hemos fusionado una actualización que te da acceso a una nueva configuración ai_translation_max_tokens_multiplier que por defecto es 1.
Deberías poder aumentarla a cualquier número que desees para tratar el límite que estás viendo.
Este tema se cerró automáticamente después de 3 días. Ya no se permiten nuevas respuestas.