LLM タイムアウトの調整

LLM API への HTTP リクエストタイムアウトを 30〜1800 秒の範囲で調整できます。環境変数・mt-config・プラグイン設定の優先順で評価されます。

LLM API への HTTP リクエストタイムアウトを調整する機能です。v1.5.0 で導入されました。

デフォルト値

デフォルトのタイムアウトは 300 秒(5 分) です。許容範囲は 30〜1800 秒です。

優先順位

タイムアウト値は次の優先順位で評価されます。

順位設定場所
1環境変数 AI_TRANSLATOR_HTTP_TIMEOUTexport AI_TRANSLATOR_HTTP_TIMEOUT=600
2mt-config.cgi の AITranslatorHttpTimeout ディレクティブAITranslatorHttpTimeout 600
3プラグインシステム設定の「HTTP タイムアウト(秒)」管理画面で設定
4デフォルト(300 秒)設定なし

範囲外の値(30 未満 / 1800 超)が指定された場合、警告ログを残してデフォルトにフォールバックします。

設定方法

環境変数

シェルから起動するスクリプトで一時的に変えたい場合に便利です。

export AI_TRANSLATOR_HTTP_TIMEOUT=600

CGI / FastCGI 経由で MT を動かしている場合、Web サーバーの環境変数として設定する必要があります。

mt-config.cgi

本番運用の標準値として固定したい場合に使います。MT の mt-config.cgi ファイルに次の行を追加します。

AITranslatorHttpTimeout 600

MT の再起動(またはプロセスの再読み込み)で反映されます。

プラグイン設定画面

非エンジニアの管理者にも調整できるようにしたい場合に使います。

システム管理画面 → 設定 → プラグイン → AITranslator → 設定 を開き、「HTTP タイムアウト(秒)」フィールドに値を入力して保存します。

どのぐらいの値が適切か

ケース推奨値
短文記事の翻訳デフォルト(300 秒)で十分
数千字〜数万字の長文記事600〜900 秒
複雑なカスタムプロンプトを使用600〜900 秒
多くのフィールドを一気に翻訳分割翻訳パイプラインが効くので 300 秒でも十分
早めにエラーを受け取りたい60〜90 秒

長すぎる値は意味がありません。LLM のレスポンスを待つ時間が長くなるだけで、ユーザー体験は悪化します。

インフラ側のタイムアウトとの関係

Web サーバー / プロキシ側にもタイムアウト設定があります。

インフラ設定例
ApacheProxyTimeout 600 (mod_proxy)
Nginxproxy_read_timeout 600
FastCGIFcgidIOTimeout 600

AITranslator のタイムアウトはこれらより短く設定するのが基本です。インフラ側で先に切られると、エラーメッセージが分かりにくくなります。

v1.5.0 の分割翻訳パイプラインでは 1 リクエストが「1 フィールド分の LLM 応答」だけになるので、インフラ側のタイムアウトに引っかかりにくくなっています。

トラブルシューティング

タイムアウトの実効値を確認したい

タイムアウトが意図した値で動いているか確認するには、システムログを見てください。

AITranslator: HTTP timeout out of range (X seconds), falling back to default 300

このようなログが出ている場合は、設定値が範囲外です。30〜1800 の値で設定してください。

設定が反映されない

  • 環境変数: Web サーバーから見える環境変数になっているか確認
  • mt-config.cgi: 編集後に Web サーバーまたは MT のプロセスを再読み込み
  • プラグイン設定: ブラウザのキャッシュをハードリロードで更新