翻訳エンジンとフォールバック
MTS は複数の翻訳エンジンを束ね、障害時に自動で切り替えるフェイルオーバー(フォールバック)機構を備えています。これにより「翻訳が返ってこない」状況を最小化します。
対応エンジン
1. LocalLLM(Ollama / LM Studio)— 既定・無料
- 翻訳特化の軽量モデル(例:
translategemma系)を使用。 - 文脈をある程度踏まえた自然な翻訳が可能。
- サーバーマシンの資源に依存するため、混雑時は遅延することがあります。
- Ollama と LM Studio のどちらのランタイムにも対応。
2. DeepL — 高品質オプション
- 業界標準の高精度機械翻訳。
- 文字数を購入して利用します(→ 料金・課金)。
- 残量は gift / paid のプール(種別)で管理され、優先順位を設定できます。
3. Azure Translator / Google Cloud Translation — フォールバック
- クラウドの安定した翻訳API。
- LocalLLM が使えないときの代替として動作します(運用側の設定による)。
自動フォールバックの動作
LocalLLM 運用時
LocalLLM をメインにしている場合、次のときにクラウド翻訳へ自動で切り替えます。
- タイムアウト:LLM が時間内に応答しない(例:設定時間を超過)。
- 過負荷 (busy):同時実行数の上限に達し、これ以上処理できない。
- 一時障害:接続エラーなどが発生。
切り替え順(優先度):
LocalLLM(第一希望)
└─ ✗ → Azure Translator(代替1)
└─ ✗ → Google Cloud Translation(代替2)DeepL 運用時
- DeepL の残量が少なくなると、自動的に LocalLLM へ切り替えてサービスを継続します。
- どちらのプール(gift / paid)を優先消費するかを設定できます。
翻訳品質を保つ工夫
- トークン保護:メンション
@user、絵文字、チャンネルリンク#channel、URL を翻訳前に退避し、翻訳後に復元。壊れません。 - 改行・行構造の保持:複数行や箇条書きのメッセージを、できるだけ元の構造で出力。
- 無駄な翻訳の抑制:発言と同じ言語への翻訳や、翻訳されていない(原文のままの)出力を検知してスキップ。
- 言語自動判定:原文の言語を推定し、適切に翻訳先を決定。
エンジン選択の考え方
| 重視する点 | 推奨 |
|---|---|
| コスト(無料) | LocalLLM |
| 品質・安定速度 | DeepL |
| とにかく止めたくない | LocalLLM + フォールバック(既定構成) |
エンジンはサーバー全体/チャンネル個別に設定できます(→ 言語・チャンネル設定)。
フォールバックの有無や優先順位は運用環境の設定に依存します。クラウド代替が未設定の場合は LocalLLM のみで動作します。
