Registro de Depuração: O modelo OpenRouter gpt-oss-120b não suporta solicitações em chinês

Registro de uma experiência de depuração de API: o modelo gpt-oss-120b da OpenRouter retorna um erro 429 para solicitações em chinês, mas responde normalmente a solicitações em inglês, um fenômeno estranho.

Ao usar a API de modelo gratuito fornecida pela OpenRouter, encontrei um problema confuso. Com a mesma estrutura de solicitação, apenas alterando o idioma do prompt, resultados completamente diferentes ocorrem.

Reprodução do Problema

Usei o modelo openai/gpt-oss-120b:free para testes. A única diferença entre as duas solicitações era o idioma do prompt. A primeira solicitação usava um prompt em chinê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": "你是一个专业的本地化翻译专家"
    }
  ]
}'

Esta solicitação sempre retornava o código de status 429, indicando que as solicitações eram frequentes demais ou excediam o limite de cota. No entanto, quando usei um prompt em 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"
    }
  ]
}'

A solicitação respondeu normalmente, retornando a saída do modelo esperada.

Processo de Depuração

Este comportamento inconsistente é confuso. O erro 429 geralmente significa limitação de taxa, mas o problema é que as duas solicitações foram enviadas quase simultaneamente, então não deveria haver um problema de limitação de taxa. Comecei então a investigar sistematicamente as possíveis causas.

Primeiro, verifiquei os limites de cota da chave da API e confirmei que não excedi o limite. Em seguida, verifiquei a frequência das solicitações e descobri que apenas algumas solicitações foram enviadas em um curto período, o que não deveria acionar nenhum mecanismo de limitação de taxa. Após excluir essas causas comuns, notei que a única variável era o idioma do prompt.

Ao buscar ajuda de modelos de IA mais poderosos, consultei o Opus 4.6 Max e o GPT-5.2 Extra High. Embora sejam alguns dos modelos de linguagem mais avançados atualmente, nenhum conseguiu apontar claramente a causa raiz deste bug. Isso mostra que alguns casos extremos ou restrições específicas só podem ser descobertos em testes reais.

Verificação Manual

Como as ferramentas de depuração automatizadas não deram uma resposta, decidi verificar manualmente várias hipóteses. Testei diferentes conteúdos em chinês, incluindo saudações simples, perguntas técnicas e textos longos; todas as solicitações em chinês retornaram erro 429. Por outro lado, solicitações em inglês do mesmo tamanho responderam normalmente.

Este fenômeno aponta para uma conclusão clara: o modelo openai/gpt-oss-120b:free não suporta solicitações em chinês. O processamento de conteúdo em chinês pelo modelo pode ter acionado um mecanismo de restrição não documentado, fazendo com que a API retorne diretamente o erro 429 em vez de uma mensagem de erro mais amigável.

Resumo da Experiência

Esta experiência de depuração tem vários pontos notáveis. Primeiro, as mensagens de erro da API podem ser enganosas. O erro 429 geralmente indica limitação de taxa, mas em alguns casos pode esconder outras restrições. Segundo, as ferramentas de depuração automatizadas, embora poderosas, não são onipotentes. Algumas restrições específicas do modelo ou da plataforma só podem ser descobertas em testes reais.

Outra lição importante é a necessidade de verificar hipóteses. Quando vários modelos avançados de IA falham em encontrar o problema, o teste manual e sistemático ainda é o método mais confiável. Controlando variáveis e verificando uma por uma, é finalmente possível localizar a causa raiz do problema.

Para aplicativos que precisam processar conteúdo em vários idiomas, isso também nos lembra de consultar cuidadosamente a documentação ou realizar testes suficientes ao escolher um modelo. Modelos gratuitos frequentemente têm várias restrições, que podem não ser claramente explicadas na documentação principal.

Ferramentas Relacionadas

Ao lidar com tradução de conteúdo multilíngue, desenvolvi uma extensão do VS Code, Project Translator, especializada em fluxos de trabalho de localização multilíngue de projetos. Ela pode identificar automaticamente arquivos que precisam ser traduzidos, integrar vários serviços de tradução e manter a consistência contextual da tradução.

O objetivo de design deste plugin é resolver pontos problemáticos de processamento multilíngue encontrados em projetos reais. Reduzir a carga de tradução manual por meio de automação, garantindo ao mesmo tempo a qualidade da tradução. Durante o desenvolvimento, também encontrei várias limitações de API e casos extremos, e cada problema exigiu depuração e verificação cuidadosas.

Conclusão

No processo de depuração técnica, sempre encontramos problemas inesperados. A chave é manter a paciência, investigar sistematicamente as possíveis causas e não ignorar nenhum detalhe. Às vezes, as ferramentas mais avançadas não ajudam, e são necessários os métodos de verificação mais básicos.

A OpenRouter oferece uma rica seleção de modelos e uma API flexível, o que é sua vantagem. Mas também é importante notar que diferentes modelos podem ter diferentes restrições e características, sendo melhor realizar testes suficientes antes de usar. Isso é especialmente verdadeiro para modelos gratuitos, cujas restrições são frequentemente mais rigorosas e opacas.