AI 翻译跳过葡萄牙语 (pt) 区域——帖子已翻译为所有语言,唯独未翻译葡萄牙语

AI 翻译在 LLM 503 错误时静默失败——无重试机制

缺陷:当任何 LLM 提供商(Mistral、OpenAI)返回 503 错误时,DiscourseAi::Translation 会静默跳过翻译,且不进行重试。

日志示例:

DiscourseAi::Completions::Endpoints::Mistral: status: 503
{“type”:“unreachable_backend”,“code”:“1100”}
DiscourseAi::Translation: 翻译主题 X 到俄语失败

根本原因:DiscourseAi::Completions::Endpoints 针对临时服务器错误没有任何重试逻辑。这并非特定于某家提供商——此前在 OpenAI 上也观察到相同行为。

预期行为:在将翻译标记为失败之前,针对 503/504 响应使用指数退避机制进行重试。

建议修复方案:在 DiscourseAi::Completions::Endpoints 中为所有提供商统一添加重试逻辑。

此问题会影响所有使用多语言 AI 翻译的 Discourse 实例。