Skip to content

LLM 提供商和模型 ​

每个翻译流水线 —— translate-ui、translate-docs、translate-json 和 translate-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(无)

对于任何非预设键,请在配置中明确设置baseUrl和apiKeyEnv。

在您的环境或.env文件中设置活动提供商的API密钥。CLI会自动从工作目录加载.env,而不会覆盖shell中已设置的变量。请参阅环境变量。

模型回退链 ​

translationModels 是一个有序列表,而不是单一选择。CLI 会先尝试第一个模型;在请求、解析或脚本错误失败时,它会移动到下一个条目。请配置多个模型,这样短暂的故障或某个难以处理特定区域设置的模型(例如使用罗马化印地语而非天城文)就不会阻塞整个运行。对于原生脚本区域设置,罗马化输出会被拒绝;如果某个区域设置应保持罗马化,则必须使用显式的 -Latn 子标签进行配置(例如 hi-Latn)。

分辨率层级(去重,保留顺序):

管道顺序
UI (translate-ui, 复数, proofread-ui)localeModels(locale) → uiModels → translationModels
文档,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 条目。完整的默认值和理由:配置 — provider 和 providers。

UI 字符串: 可选的 uiModels 允许你在全局 translationModels 链之前,将 translate-ui、复数生成和 proofread-ui 路由到高级模型——这很有用,因为 UI 文案简短但面向用户。

亚洲区域设置: 在每个管道中,都会优先尝试针对 ja、ko、zh-Hans 和 zh-Hant 的可选 localeModels 条目;诸如 z-ai/glm-5.3 和 minimax/minimax-m2.7 等模型在处理中日韩文字时,通常比通用回退方案表现更好。

示例配置(OpenRouter)。translationModels 和 uiModels 是本仓库在 ai-i18n-tools.config.json 中使用的列表。localeModels 是针对 CJK 语言环境的可选推荐附加组件;本仓库未设置此项。

json
{
  "provider": "openrouter",
  "providers": {
    "openrouter": {
      "translationModels": [
        "qwen/qwen3.7-max",
        "~anthropic/claude-sonnet-latest",
        "openai/gpt-5.4",
        "google/gemini-3.5-flash",
        "tencent/hy-mt2-30b-a3b",
        "mistralai/mistral-large",
        "openai/gpt-4o-mini",
        "cohere/command-r-plus-08-2024",
        "qwen/qwen-2.5-72b-instruct"  
      ],
      "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" ] }
      ]
    }
  }
}

验证和比较模型 ​

在更改translationModels之前,请确认每个ID在活动提供商上仍然可用:

bash
npx ai-i18n-tools check-models

check-models 调用提供者的 GET /models 端点,验证来自 translationModels、uiModels 和 localeModels 的每个 id,报告缺失或超过 expiration_date 的 id,并在任何配置的 id 无效时以非零值退出。当提供者返回定价(OpenRouter 会这样做)时,它还会显示每 1M 个 token 的估计 USD。

浏览提供商宣传的完整目录:

bash
npx ai-i18n-tools list-models

在真实翻译样本上对已配置的模型进行基准测试 — translationModels、uiModels 和 localeModels 中的每个唯一 id 都会独立运行,以便你比较实际耗时、token 用量和成本:

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、可选的 uiModels 和 localeModels、maxTokens、temperature,以及 requestTimeout(秒)或 requestTimeoutMs。提供程序上的超时会覆盖顶级的 requestTimeout / requestTimeoutMs。仍然接受旧版的顶级 openrouter 块,并在加载时自动迁移到 providers.openrouter。

可选的 pricing 和 modelPricing 用于在提供商省略 usage.cost 时设置每 1,000,000 个 token 的美元价格(inputPerMTokens 和 outputPerMTokens)。pricing 是提供商级别的全局默认值;modelPricing 条目会针对单个模型 ID 覆盖该默认值。OpenRouter 已经返回每次调用的成本,因此对于该提供商请将两者均留空。提供商报告的成本将按原样保留。该金额会包含在翻译摘要、usage 以及用量与成本 中。

针对同一文档使用四个提供商的可运行示例,包含示例费率:examples/multi-provider。

更多参考 ​

基于 MIT 许可证发布。