Skip to content

LLM 供應商與模型

每個翻譯管線 — translate-uitranslate-docstranslate-jsontranslate-svg — 都透過相同的供應商無關用戶端將文字傳送至 LLM。在任何這些指令執行之前,請在 ai-i18n-tools.config.json 中設定至少一個供應商,並在您的環境或 .env 中設定對應的API 金鑰(除了 Ollama 之外的內建預設值)。init 會寫入起始的 provider / providers 區塊;您仍須為使用中的預設值提供憑證。

您只需在設定中設定一次要呼叫哪個 API 端點要嘗試哪些模型;所有翻譯指令都會共用該設定與相同的 SQLite 快取。

CLI 從頂層 provider 鍵(或當只設定一個時,providers 中的唯一條目)解析活動供應商。每個供應商區塊列出一個有序的 translationModels 備用鏈;內建預設值會自動繼承 baseUrl 和 API 鍵環境變數(必要時可針對每個供應商覆寫它們)。

內建供應商

預設供應商鍵只需 translationModels — 基本 URL 和 API 鍵環境變數會自動填入:

提供者基本 URLAPI 金鑰環境變數
openrouterhttps://openrouter.ai/api/v1OPENROUTER_API_KEY
openaihttps://api.openai.com/v1OPENAI_API_KEY
anthropichttps://api.anthropic.com/v1ANTHROPIC_API_KEY
geminihttps://generativelanguage.googleapis.com/v1beta/openaiGOOGLE_API_KEY
deepseekhttps://api.deepseek.comDEEPSEEK_API_KEY
cerebrashttps://api.cerebras.ai/v1CEREBRAS_API_KEY
groqhttps://api.groq.com/openai/v1GROQ_API_KEY
mistralhttps://api.mistral.ai/v1MISTRAL_API_KEY
xaihttps://api.x.ai/v1XAI_API_KEY
nvidiahttps://integrate.api.nvidia.com/v1NVIDIA_API_KEY
alibabahttps://dashscope-intl.aliyuncs.com/compatible-mode/v1ALIBABA_API_KEY
apifunhttps://api.apikey.fun/v1APIFUN_API_KEY
ollamahttp://localhost:11434/v1(無)

對於任何非預設鍵,請在設定中明確設定 baseUrlapiKeyEnv

在您的環境或 .env 檔案中設定活動供應商的 API 鍵。CLI 會自動從工作目錄載入 .env,而不會覆寫 shell 中已設定的變數。請參閱環境變數

模型備用鏈

translationModels 是一個有序列表,而不是單一選擇。CLI 會嘗試第一個模型;如果請求或解析失敗,它會移至下一個條目。設定多個模型,這樣暫時性中斷或難以處理特定語言環境的模型就不會阻礙整個執行。

解析層次 (去重,保持順序):

管道順序
UI (translate-ui, 複數, proofread-ui)localeModels(locale)uiModelstranslationModels
文件,JSON,SVGlocaleModels(locale)translationModels

可選的 providers.<active>.uiModels 是一個僅限 UI 的清單,在任何匹配的本地化覆蓋和全局 translationModels 鏈之前嘗試。可選的 providers.<active>.localeModels 將 BCP-47 本地化映射到每個管道中為該本地化首先嘗試的模型(pt-br 匹配 pt-BR)。當沒有 localeModels 項目匹配時,僅應用管道特定的層次。

不同的提供者和模型在不同語言中的成本、速度和質量各不相同。將 npx ai-i18n-tools init 的默認清單視為起點——當某個本地化始終產生不良結果時擴展它,或為該本地化添加 localeModels 項目。默認值和理由:配置 — providerproviders

UI 字串: 選用的 uiModels 讓您在全域 translationModels 鏈之前,將 translate-ui、複數生成與 proofread-ui 路由至進階模型 — 這很有用,因為 UI 文案簡短但面向使用者。

亞洲地區設定: 在每個管線中,會先嘗試 jakozh-Hanszh-Hant 的選用 localeModels 項目;像 z-ai/glm-5.2minimax/minimax-m2.7 這樣的模型,在 CJK 文字上的表現通常比通用備用方案更好。

範例設定 (OpenRouter):

json
{
  "provider": "openrouter",
  "providers": {
    "openrouter": {
      "translationModels": [
        "google/gemini-2.5-flash",
        "meta-llama/llama-3.3-70b-instruct",
        "openai/gpt-4o-mini",
        "google/gemma-4-26b-a4b-it",
        "anthropic/claude-3-haiku",
        "z-ai/glm-5.2",
        "google/gemini-3-flash-preview",
        "~anthropic/claude-sonnet-latest"
      ],
      "uiModels": [
        "~anthropic/claude-sonnet-latest",
        "z-ai/glm-5.2"
      ],
      "localeModels": [
        { "locale": "ja",      "models": [ "z-ai/glm-5.2", "minimax/minimax-m2.7" ] },
        { "locale": "ko",      "models": [ "z-ai/glm-5.2", "minimax/minimax-m2.7" ] },
        { "locale": "zh-Hans", "models": [ "z-ai/glm-5.2", "minimax/minimax-m2.7" ] },
        { "locale": "zh-Hant", "models": [ "z-ai/glm-5.2", "minimax/minimax-m2.7" ] }
      ]
    }
  }
}

驗證和比較模型

在更改 translationModels 之前,請確認每個 ID 在活動供應商上仍然可用:

bash
npx ai-i18n-tools check-models

check-models 呼叫提供者的 GET /models 端點,驗證來自 translationModelsuiModelslocaleModels 的每一個 id,報告缺失或已過 expiration_date 的 id,並在任何配置的 id 無效時以非零值退出。當提供者返回價格(OpenRouter 會這樣做時),它還會顯示每 1M 標記的預估 USD。

瀏覽供應商宣傳的完整目錄:

bash
npx ai-i18n-tools list-models

對已設定的模型進行效能基準測試,使用真實翻譯樣本——translationModelsuiModelslocaleModels 中的每個唯一識別碼都會獨立執行,方便您比較實際耗時、權杖使用量和成本:

bash
npx ai-i18n-tools bench-models

覆寫樣本文字、語言環境或模型列表:

bash
npx ai-i18n-tools bench-models --text "Hello world" --source en --target de --model openai/gpt-4o-mini,anthropic/claude-3-haiku

指令詳情:CLI 參考

多個供應商

當配置了多個供應商時,設定頂層 provider 鍵以選擇預設值。無需編輯配置即可在每次運行時切換:

bash
npx ai-i18n-tools translate-docs -P anthropic
npx ai-i18n-tools bench-models -P deepseek

每個提供者塊可以定義自己的 translationModels,可選的 uiModelslocaleModelsmaxTokenstemperaturerequestTimeoutMs。仍然接受遺留的頂層 openrouter 塊,並在加載時自動遷移到 providers.openrouter

在同一文件中包含四個提供者的可執行範例:examples/multi-provider

延伸參考

以 MIT 授權發布。