当 LLM 发生变化时,翻译会怎样?

如果我更换 LLM,所有帖子会被重新翻译吗?

我之前使用的是托管在 Groq 上的 LLM,进度已完成约 95%,但随后开始报错。经过调查,我发现 Groq 已弃用了我正在使用的模型。于是我在 Groq 上配置了一个新模型,并在 Discourse 中更新了模型参数。

我注意到,Discourse 现在每天使用更新的翻译 LLM 消耗数百万个 token,但翻译状态页面上的进度条完全没有进展(仍卡在 95%)。

因此,我想了解当 LLM 参数发生变化时会发生什么?它是否会从头开始重新进行所有翻译?如果是这样,是否有办法阻止这种情况,让它从上次中断的地方继续?

这取决于具体情况。例如,如果您使用 Gemini 模型进行翻译,然后切换到另一个模型,您将会创建一个新的词汇缓存。根据我的经验,我更喜欢保留三条路由:其中两条使用相同的模型,最近我为新内容启用了 Gemini Flash Lite,到目前为止一切正常。

旧的翻译会被保留,新的 LLM 只会翻译之前尚未翻译的内容。

我该如何核实具体情况?

每天,大语言模型(LLM)都会消耗数百万个 token 用于翻译(已达到 API 的每日限制),但翻译统计数据却没有任何进展(0 增量翻译)。请见截图。


启用详细日志并检查 AI API 审计日志表的最后几条条目。

好的,我在 Rails 控制台中启用了 AI 翻译调试功能,通过执行 SiteSettings.ai_translation_verbose_logs = true 命令。过去两天,我在 /logs 错误日志页面中一直看到以下信息:

DiscourseAi::Translation: 翻译主题 5898 到 zh_TW 失败:{“error”:{“message”:"模型 openai/gpt-oss-120b 在组织 org_01kccx1baz5sXXXon_demand 服务层级已达到每日令牌(TPD)限制:限制为 200000,已使用 193366,请求 7514。请在 6 分 20.16 秒后重试。

同一个主题一直在消耗每日令牌上限。我不明白为什么一个主题会陷入死循环?

你禁用了这个 LLM 的思考功能吗?试试看。

当你提到“思考”时,是指“视觉”吗?在 Discourse 的 LLM 配置页面上,我没有看到任何关于“思考”的复选框或选项。

我很好奇这会对翻译产生什么影响?

该页面在过去一周一直卡住,消耗了所有的每日令牌:

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

DiscourseAi::Translation: 翻译主题 5898 到法语失败:{“error”:{“message”:“模型 openai/gpt-oss-120b 在组织 org_01kccx1be8fffaz5sbe17 的服务层级 on_demand 上,按每日令牌数(TPD)已达到速率限制:限制 200000,已使用 197080,请求 7512。请在 33 分 3.744 秒后重试。”}}

你的意思是推理能力还是视觉能力?


@Falco 如果我将推理强度设置为 none,会出现以下错误:

DiscourseAi::Translation: 翻译主题 5898 到 fr 失败:{“error”:{“message”:“reasoning_effort 必须是 lowmediumhigh 之一”,“type”:“invalid_request_error”}}

你指的是哪个设置?

所以现在已经过了大约 24 小时,我在日志中没有看到任何翻译活动,过去 24 小时内既没有错误也没有成功记录。

然而,仪表板显示翻译尚未完成。

我尝试禁用并重新启用自动翻译开关,但没有任何效果。

当我查看 Sidekiq 调度器时,只看到这一个与翻译相关的任务:
image

我尝试手动触发它,但翻译没有任何进展,日志中也没有错误。

为什么翻译会卡住?

根据我为客户调试类似问题的经验,您根本无法使用思维模型进行语言检测。

我们在那里不使用结构化输出,这意味着我们对输出格式非常敏感。思维块 100% 会破坏这一点,而如果没有语言检测,翻译将始终无法进行。

所以,如果我没理解错的话,我们需要使用非思考模型来进行 AI 翻译。