LLMが変更された場合、翻訳には何が起こりますか?

LLM を変更すると、すべての投稿が再翻訳されますか?

以前は Groq でホストされている LLM を使用していましたが、95% 完了した時点でエラーが発生し始めました。調査した結果、使用していたモデルが Groq によって非推奨になったことがわかりました。そこで Groq で新しいモデルを設定し、Discourse のモデルパラメータを更新しました。

現在、Discourse は更新された翻訳用 LLM を毎日数百万トークン使用していますが、翻訳ステータスパージのプログレスバーは全く進んでいません(まだ 95% のままです)。

そこで、LLM パラメータが変更された際に何が起こるのかを理解しようとしています。翻訳は最初からやり直されるのでしょうか?もしそうなら、それを防ぎ、中断した場所から再開させる方法はありますか?

それは、例えば、Gemini のモデルで翻訳してから別のモデルに切り替えると、新しい単語キャッシュが作成されるかどうかによります。私の経験では、3 つのルートを維持する方が好ましく、そのうち 2 つを同じモデルで使用し、最近新しいコンテンツ用に Gemini Flash Lite を有効にしました。現時点では問題はありません。

既存の翻訳は保持され、新しいLLMはこれまで翻訳されていない部分のみを処理します。

確認のために何ができますか?

毎日、LLM は翻訳のために何百万ものトークンを消費していますが(API の日次制限に達しています)、翻訳統計には一切の進捗がありません(増加する翻訳数が 0 です)。スクリーンショットをご覧ください。


詳細ログを有効にし、AI API 監査ログテーブルの最新の項目を確認してください。

はい、Rails コンソールから SiteSettings.ai_translation_verbose_logs = true を実行して AI 翻訳のデバッグを有効にしました。その後、過去 2 日間 /logs のエラーログページで以下のメッセージが表示されています。

DiscourseAi::Translation: トピック 5898 の zh_TW への翻訳に失敗しました: {“error”:{“message”:"組織 org_01kccx1baz5sXXX のサービスティア on_demand において、モデル openai/gpt-oss-120b のトークン数(TPD)のレート制限に達しました: 制限 200000、使用済み 193366、要求 7514。6 分 20.16 秒後に再度お試しください。

同じトピックがループして、1 日のトークン制限を使い果たし続けています。なぜ 1 つのトピックがループに陥ってしまうのか理解できません。

この LLM の思考機能を無効にしましたか?試してみてください。

「思考」とおっしゃる場合、それは「ビジョン」を意味しますか?Discourse の LLM 設定ページには、思考に関するチェックボックスやオプションは見当たりません。

これが翻訳にどのような影響を与えるのか気になります。

過去 1 週間、このページに留まったまま、1 日のトークン数をすべて消費しています。

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

DiscourseAi::Translation: トピック 5898 の fr への翻訳に失敗しました: {“error”:{“message”:“組織 org_01kccx1be8fffaz5sbe17 のサービスティア on_demand におけるモデル openai/gpt-oss-120b の 1 日あたりのトークン数(TPD)のレート制限に達しました。制限 200000、使用 197080、要求 7512。33 分 3.744 秒後に再試行してください。”}

推論の努力のことですか、それとも視覚のことですか?


@Falco 推論の労力を none に設定すると、このエラーが発生します:

DiscourseAi::Translation: トピック 5898 の fr への翻訳に失敗しました:{“error”:{“message”:“reasoning_effortlowmedium、または high のいずれかである必要があります”,“type”:“invalid_request_error”}}

どの設定のことをおっしゃっていますか?

さて、約24時間が経過しましたが、ログには翻訳の動きが見られません。過去24時間でエラーも成功も記録されていません。

しかし、ダッシュボードでは翻訳が未完了と表示されています。

自動翻訳のトグルを無効化して再度有効化してみましたが、変化はありませんでした。

Sidekiqスケジューラを確認すると、翻訳に関連するタスクはこの1つのみ表示されています:
image

手動で実行を試みましたが、翻訳の進捗はなく、ログにもエラーは記録されていません。

なぜ翻訳が停止してしまうのでしょうか?

以前の顧客の類似問題のデバッグ経験から申し上げますと、ロケール検出には思考モデルを使用することはできません。

そこでは構造化された出力を使用していないため、出力の形式に非常に敏感です。思考ブロックは常に出力を破壊してしまい、ロケール検出ができなければ翻訳は常に停止してしまいます。

つまり、私が正しく理解しているなら、AI 翻訳には思考を伴わないモデルを使用する必要がありますね。