AIモデル
モデルとは、google/gemini-2.5-flashやgpt-5-miniなど、プロバイダー上の名前付きシステムのことです。initは、選択したプロバイダー用のスターターtranslationModelsリストを書き込みます。そのリストは出発点として扱ってください。
このプロジェクト用のリストは、suggest-modelsを使用するか、翻訳ダッシュボードのモデルにある同じランキングを使用して選択します。どちらの方法でも、公開されているベンチマークに基づいてアクティブなプロバイダーのチャットモデルをランク付けし、その結果をtranslationModelsに書き込むことができます。まず、プロバイダーとそのAPIキーを設定してください: LLMプロバイダー。
順位付き候補リストから始める
コマンドラインから
suggest-modelsは、アクティブなプロバイダーが現在提供しているチャットモデルをランク付けし、短いテーブルを出力します。デフォルトは品質です。翻訳の測定値と一般的な優先度スコアが価格よりも重視されます。
ai-i18n-tools suggest-models列は、ランク、モデルID、インデックス、測定されたChrF、測定されたArenaスコア、および100万トークンあたりの入出力価格(USD)です。測定値がない場合は—になります。インデックスは、加重スコアを100倍したものです。品質ランキングでは、インデックスが高いほどこのプロジェクトにより強く一致することを示します。
テーブルが適切に表示されたら、そのショートリストを構成ファイルに書き込みます:
ai-i18n-tools suggest-models --apply--applyはproviders.<active>.translationModelsを置き換えます。まず、現在の構成を兄弟ファイルであるai-i18n-tools.config.{timestamp}.backup.jsonにコピーします。uiModelsとlocaleModelsはそのまま残ります。--top(デフォルトは8)は、テーブルと--applyに含めるIDの数です。最初のIDが、翻訳で最初に試行されるものです。
--priceはより低いレートを優先しますが、品質の最低ラインは維持するため、測定値のない安価なモデルはスコアのあるモデルよりも下になります。--qualityがデフォルトです。両方のフラグを渡すとエラーになります。
ダッシュボードから
モデルタブには同じランキングが表示され、各行にチェックボックスがあります。
ai-i18n-tools dashboardモデルを開きます。品質または価格を選択します。希望する行にチェックを入れます。チェックされた行が上から順に、翻訳が試行する順序になります。構成を更新をクリックすると確認が求められ、同様のバックアップが書き込まれ、その順序がtranslationModelsに保存されます。自分で貼り付けたい場合は、JSONをコピーで{ "translationModels": [...] }のフラグメントをクリップボードにコピーできます。
最大出力価格と最小インデックス差分は、suggest-models --max-output-priceと--min-deltaに対応します。コントロールと列: モデルタブ。
順位付けの仕組み
ショートリストは、プロバイダーのライブチャットカタログのベンチマークランキングです。初回実行時は3つの公開データセットをダウンロードするため、時間がかかることがあります。その後の実行では、<cacheDir>/benchmark-scores.json(通常は.translation-cache/benchmark-scores.json)にある7日間のキャッシュを再利用します。
| シグナル | 貢献内容 | ソース |
|---|---|---|
| ChrF | プロジェクトの言語に対する翻訳品質 | languagebench (CC BY-SA 4.0) |
| Arenaスコア | 直接比較による総合的な優先度 | LMArena Arena Score (CC BY 4.0) |
| 100万トークンあたりのUSD | 入出力価格 | プロバイダーが料金を公開している場合はそのカタログ、それ以外はmodels.dev (MIT) |
ChrFは、プロジェクトのsourceLocaleとtargetLocalesに対するlanguagebenchの翻訳スコアを使用します。ロケールはlanguagebenchの言語コード(プライマリサブタグ)にマッピングされ、pt-BRからpt、zh-Hantからzhなどのエイリアスがあります。これらの言語をうまく翻訳するモデルは、一般的にスコアが高いだけのモデルよりも上位にランク付けされます。埋め込み、画像、音声、その他の非チャットモデルはスキップされ、有効期限が切れたIDも同様です。
デフォルトのプロファイルである「品質」は、価格よりもChrFとArenaスコアを重視します。「価格」はその重点を逆転させますが、上記の品質下限は維持します。オプションの重みについてはmodelSuggestionを参照してください。
suggest-models --refreshはデータセットを再ダウンロードします。その後、「モデル」 タブをリロードしてください。
--json、--list、およびスコア計算式を含むすべてのフラグについては、suggest-modelsを参照してください。
リストに複数のモデルが含まれる理由
モデルフォールバックチェーン
translationModelsは順序付きリストです。CLIは最初のモデルを試します。リクエストが失敗した場合、解析できないレスポンスを受け取った場合、またはテキストが間違った書記体系である場合、そのバッチに対して次のIDを試します。
1つのIDだけでは単一障害点になります。モデルはタイムアウトしたり、このツールが拒否するテキストを返したり、ある言語はうまく翻訳できても別の言語はうまく翻訳できなかったりすることがあります。よくあるケースは、hiがデーヴァナーガリーを期待しているのに、ローマ字化されたヒンディー語が使われる場合です。ローマ字化された出力は、ネイティブスクリプトのロケールでは拒否されます。ローマ字化されたままであるべきロケールには、hi-Latnのような明示的な-Latnサブタグが必要です。
そのため、ショートリストには最も強力なものから順に複数のIDが含まれています。リスト内の順序が、翻訳が試行される順序です。
解決階層 (重複排除、順序保持):
| パイプライン | 順序 |
|---|---|
UI (translate-ui、複数形、proofread-ui) | localeModels(locale) → uiModels → translationModels |
| ドキュメント、JSON、SVG | localeModels(locale) → translationModels |
ほとんどのプロジェクトではtranslationModelsのみを設定します。他の2つのリストは、特定の種類のテキストや言語に対して、最初に異なるモデルを試すべき場合に使用します。
UI文字列。 オプションのuiModelsは、一致するロケールごとのオーバーライドの後、translationModelsの前に試行されます。UIのテキストは短く目に見えるものであるため、そのチェーンでより強力なモデルを使用するのが一般的な分割方法です。suggest-models --applyはtranslationModelsのみを書き込みます。
1つのロケール。 オプションのlocaleModelsは、BCP-47タグを、すべてのパイプラインでそのロケールに対して最初に試行されるモデルにマッピングします(pt-brはpt-BRに一致します)。日本語、韓国語、中国語は、汎用のフォールバックよりも、z-ai/glm-5.3やminimax/minimax-m2.7のような、それらの書記体系に合わせて調整されたモデルの方がうまくいくことがよくあります。一致するエントリがない場合は、上記のパイプライン階層のみが適用されます。
例 (OpenRouter)。ID は 3 つのリストの形状を示します。suggest-models または モデル タブから translationModels を取得します。UI コピーまたは 1 つのロケールに独自のチェーンが必要な場合は、uiModels または localeModels を追加します。
{
"provider": "openrouter",
"providers": {
"openrouter": {
"translationModels": [
"google/gemini-2.5-flash",
"deepseek/deepseek-v4-flash",
"openai/gpt-5-mini"
],
"uiModels": [
"anthropic/claude-sonnet-latest",
"openai/gpt-5.4"
],
"localeModels": [
{ "locale": "ja", "models": ["z-ai/glm-5.3", "minimax/minimax-m2.7"] },
{ "locale": "ko", "models": ["z-ai/glm-5.3", "minimax/minimax-m2.7"] },
{ "locale": "zh-Hans", "models": ["z-ai/glm-5.3", "minimax/minimax-m2.7"] },
{ "locale": "zh-Hant", "models": ["z-ai/glm-5.3", "minimax/minimax-m2.7"] }
]
}
}
}initからのプリセットリスト、およびフィールドリファレンス: 設定 — providerとproviders。
確認、一覧表示、ベンチマーク
ショートリストが設定ファイルに記述されたら、これらのコマンドでそれを検査できます。これらを使用する前に翻訳を実行することも可能です。
check-models
設定された各IDが、アクティブなプロバイダーによってまだ提供されているかを確認します。
ai-i18n-tools check-modelsプロバイダーのGET /modelsエンドポイントを呼び出し、translationModels、uiModels、localeModels内のすべてのIDをチェックし、見つからないIDやexpiration_dateを過ぎたIDを報告し、設定されたIDのいずれかが無効な場合はゼロ以外の値で終了します。プロバイダーが価格を公開している場合(OpenRouterとCheaper Inferenceは公開しています)、100万トークンあたりのUSDも表示されます。
list-models
プロバイダーが公開している完全なカタログを、IDでソートして出力します。ランキングから漏れたIDを調べるのに使用します。
ai-i18n-tools list-modelsbench-models
設定された各モデルで個別に1つのサンプルを翻訳し、入力トークンと出力トークン、実時間、USDコストを出力します。suggest-modelsは上記の公開スコアを使用します。bench-modelsはモデルを呼び出すため、APIクレジットを消費し、アカウントでのレイテンシと価格を表示します。
ai-i18n-tools bench-modelstranslationModels、uiModels、localeModelsの各ユニークIDは、フォールバックなしで実行されます。特定の比較を行うには、サンプルまたはIDをオーバーライドします:
ai-i18n-tools bench-models --text "Hello world" --source en --target de --model openai/gpt-5-mini,google/gemini-2.5-flashCheaper Inferenceでゼロデータ保持がオンの場合、check-models、list-models、suggest-modelsはGET /models?zdr=trueを読み取ります。
コマンドの詳細: CLI — モデルと言語。
関連情報
- LLM プロバイダー — プリセット、API キー、
-Pを使用したプロバイダーの切り替え。 - 「モデル」タブ — ダッシュボード内の同じランキング。
- 設定 —
providerとproviders—translationModels、uiModels、localeModels、タイムアウト、コストレート。 - suggest-models — フラグ、フィルター、スコアの計算式。