O que acontece com as traduções quando o LLM muda?

Se eu alterar o LLM, todas as postagens serão retraduzidas?

Eu estava usando um LLM hospedado no Groq. Estava com cerca de 95% concluído quando comecei a receber erros. Após investigar, percebi que o Groq havia descontinuado o modelo que eu estava usando. Então, configurei um novo modelo no Groq e atualizei os parâmetros do modelo no Discourse.

Vejo que o Discourse agora está usando milhões de tokens com o LLM de tradução atualizado todos os dias, mas a barra de progresso na página de status das traduções não avança em nada (ainda travada em 95%).

Então, estou tentando entender o que acontece quando os parâmetros do LLM mudam. Ele inicia as traduções do zero novamente? Se sim, existe alguma maneira de impedir que isso aconteça e fazer com que ele retome exatamente de onde parou?

Depende, por exemplo, se você traduzir usando um modelo da Gemini e depois mudar pra um outro, você estará criando um novo cache de palavras, na minha experiencia eu preferir manter três rota, duas com o mesmo modelo e agora ativei um gemini flash lite pra novos conteúdos e até agora sem problemas.

As traduções antigas são mantidas; o novo LLM fará apenas as traduções do que ainda não foi traduzido.

O que posso fazer para verificar o que está acontecendo?

Todos os dias, o LLM consome milhões de tokens para traduções (atingindo o limite diário da API), mas não há nenhum progresso nas estatísticas de tradução (0 traduções incrementais). Veja as capturas de tela.


Ative os logs detalhados e verifique as últimas entradas na tabela de logs de auditoria da API de IA.

Certo, então ativei a depuração de tradução de IA pelo console do Rails com SiteSettings.ai_translation_verbose_logs = true e, nos últimos 2 dias, estou vendo isso na página de logs de erro em /logs.

DiscourseAi::Translation: Falha ao traduzir o tópico 5898 para zh_TW: {“error”:{“message”:"Limite de taxa atingido para o modelo openai/gpt-oss-120b na organização org_01kccx1baz5sXXX, nível de serviço on_demand, em tokens por dia (TPD): Limite 200000, Usado 193366, Solicitado 7514. Por favor, tente novamente em 6m20.16s.

O mesmo tópico está continuando e consumindo todo o limite diário de tokens. Não consigo entender por que um único tópico ficaria preso em um loop?

Você desativou o raciocínio para este LLM? Tente isso.

Quando você diz ‘pensamento’, quer dizer ‘visão’? Não vejo nenhuma caixa de seleção ou opção para ‘pensamento’ na página de configuração do LLM no Discourse.

Tenho curiosidade sobre qual seria o impacto disso nas traduções.

Está travado nesta página há uma semana, consumindo todos os tokens diários:

Embedded Subtitles with MP4 Unprocessed - General Support / Questions - MCEBuddy

DiscourseAi::Translation: Falha ao traduzir o tópico 5898 para fr: {“error”:{“message”:"Limite de taxa atingido para o modelo openai/gpt-oss-120b na organização org_01kccx1be8fffaz5sbe17, nível de serviço on_demand, em tokens por dia (TPD): Limite 200000, Usado 197080, Solicitado 7512. Tente novamente em 33m3.744s.

Você quer dizer esforço de raciocínio ou visão?


@Falco, se eu definir o esforço de raciocínio como none, recebo este erro:

DiscourseAi::Translation: Falha ao traduzir o tópico 5898 para fr: {“error”:{“message”:“reasoning_effort deve ser um dos seguintes: low, medium ou high”,“type”:“invalid_request_error”}}

A qual configuração você está se referindo?

Então, já se passaram cerca de 24 horas e não vejo nenhuma tradução ocorrendo nos logs; sem erros, sem sucessos nas últimas 24 horas.

No entanto, o painel mostra que as traduções estão incompletas.

Tentei desativar e reativar a opção de traduções automáticas, mas isso não fez nenhuma diferença.

Quando olho para o agendador Sidekiq, vejo apenas essa única tarefa relacionada às traduções:
image

Tentei acioná-la manualmente, mas não houve progresso nas traduções e também não houve erros nos logs.

Por que as traduções ficariam travadas?

Pelo que me lembro de depurar um problema semelhante para um cliente, simplesmente não é possível usar um modelo de raciocínio para detecção de localidade.

Não usamos saídas estruturadas nesse processo, o que significa que somos muito sensíveis à forma como a saída é gerada. Os blocos de raciocínio quebram isso 100% das vezes e, sem detecção de localidade, a tradução fica sempre travada.

Então, se entendi corretamente, precisaremos usar um modelo não pensante para traduções de IA.