Registro de depuración: el modelo OpenRouter gpt-oss-120b no admite solicitudes en chino
Categories:
Al utilizar la API del modelo gratuito proporcionada por OpenRouter, me encontré con un problema desconcertante. Con la misma estructura de solicitud, simplemente modificando el idioma del prompt, se produjeron resultados completamente diferentes.
Reproducción del problema
Utilicé el modelo openai/gpt-oss-120b:free para las pruebas. La única diferencia entre las dos solicitudes residía en el idioma del prompt. La primera solicitud utilizaba un prompt en chino:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-or-v1-xxxxxxxxxxxxxxxxxxxxxx" \
-d '{
"model": "openai/gpt-oss-120b:free",
"messages": [
{
"role": "user",
"content": "你是一个专业的本地化翻译专家"
}
]
}'
Esta solicitud siempre devolvía el código de estado 429, lo que indica que las solicitudes eran demasiado frecuentes o excedían el límite de cuota. Sin embargo, cuando utilicé un prompt en inglés:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-or-v1-xxxxxxxxxxxxxxxxxxxxxx" \
-d '{
"model": "openai/gpt-oss-120b:free",
"messages": [
{
"role": "user",
"content": "You are a professional localization translation expert"
}
]
}'
La solicitud pudo responder correctamente y devolver la salida esperada del modelo.
Proceso de depuración
Este comportamiento inconsistente fue desconcertante. El error 429 suele significar una limitación de velocidad, pero el problema era que las dos solicitudes se enviaron casi al mismo tiempo, por lo que no debería haber un problema de límite de velocidad. Así que comencé a investigar sistemáticamente las posibles causas.
Primero verifiqué los límites de cuota de la clave API y confirmé que no se habían excedido. A continuación, verifiqué la frecuencia de las solicitudes y descubrí que solo se habían enviado unas pocas solicitudes en un corto período de tiempo, por lo que no debería activar ningún mecanismo de limitación de velocidad. Después de descartar estas causas comunes, noté que la única variable era el idioma del prompt.
Al buscar la ayuda de modelos de IA más potentes, consulté a Opus 4.6 Max y GPT-5.2 Extra High. Aunque son algunos de los modelos de lenguaje más avanzados en la actualidad, ninguno pudo señalar claramente la causa raíz de este error. Esto indica que algunos casos extremos o restricciones específicas solo pueden descubrirse mediante pruebas reales.
Verificación manual
Dado que las herramientas de depuración automatizadas no dieron una respuesta, decidí verificar manualmente varias hipótesis. Probé diferentes contenidos en chino, incluyendo saludos simples, preguntas técnicas y textos largos; todas las solicitudes en chino devolvieron un error 429. Por el contrario, las solicitudes en inglés de la misma longitud respondían normalmente.
Este fenómeno apunta a una conclusión clara: el modelo openai/gpt-oss-120b:free no admite solicitudes en chino. El procesamiento de contenido en chino por parte del modelo puede activar un mecanismo de restricción no documentado, lo que hace que la API devuelva directamente un error 429 en lugar de un mensaje de error más amigable.
Resumen de experiencia
Esta experiencia de depuración tiene varios puntos dignos de mención. Primero, los mensajes de error de la API pueden ser engañosos. El error 429 generalmente indica una limitación de velocidad, pero en algunos casos puede ocultar otras restricciones. Segundo, aunque las herramientas de depuración automatizadas son potentes, no son omnipotentes. Algunas restricciones específicas del modelo o la plataforma solo se pueden descubrir mediante pruebas reales.
Otra lección importante es la necesidad de verificar las hipótesis. Cuando varios modelos de IA avanzados no pudieron encontrar el problema, las pruebas manuales y sistemáticas seguían siendo el método más confiable. Mediante el control de variables y la verificación uno por uno, finalmente se pudo localizar la raíz del problema.
Para aplicaciones que necesitan procesar contenido en varios idiomas, esto también nos recuerda que debemos consultar cuidadosamente la documentación o realizar pruebas suficientes al elegir un modelo. Los modelos gratuitos a menudo tienen varias restricciones que pueden no explicarse claramente en la documentación principal.
Herramientas relacionadas
Al tratar con la traducción de contenido en varios idiomas, he desarrollado un complemento de VS Code Project Translator, diseñado específicamente para flujos de trabajo de localización en varios idiomas de proyectos. Puede identificar automáticamente los archivos que necesitan traducción, integrar múltiples servicios de traducción y mantener la coherencia del contexto de la traducción.
El objetivo de diseño de este complemento es resolver los puntos dolorosos del procesamiento en varios idiomas encontrados en proyectos reales. Reducir la carga de trabajo de la traducción manual mediante la automatización, garantizando al mismo tiempo la calidad de la traducción. Durante el desarrollo, también me he encontrado con varias limitaciones y condiciones límite de la API, y cada problema requiere una depuración y verificación cuidadosas.
Conclusión
En el proceso de depuración técnica, siempre nos encontraremos con algunos problemas inesperados. La clave es mantener la paciencia, investigar sistemáticamente las posibles causas y no pasar por detalle alguno. A veces, las herramientas más avanzadas no pueden ayudar, y se necesitan los métodos de verificación más básicos.
OpenRouter ofrece una gran selección de modelos y una API flexible, lo cual es su ventaja. Pero también hay que tener en cuenta que diferentes modelos pueden tener diferentes restricciones y características, por lo que es mejor realizar pruebas suficientes antes de usarlos. Esto es especialmente cierto para los modelos gratuitos, cuyas restricciones suelen ser más estrictas y opacas.