Files
next-ai-draw-io/docs/cn/ai-providers.md
T
dayuan.jiang 65e3dd1dde fix(providers): keep thinking on the newest Claude models, fix the Bedrock ids
Measured on Bedrock: Claude Opus 4.7, 4.8 and every Claude 5 model reject
a thinking budget ("thinking.type.enabled") and a temperature, and all of
them accept adaptive thinking. The retry used to drop thinking, so with
a thinking budget set these models did not think at all. It now switches
to adaptive thinking with display "summarized"; without that setting the
models think but send no thinking text to show.

The suggested Bedrock ids had no region prefix, and the newer models only
answer through an inference profile id: "anthropic.claude-sonnet-5-5"
fails with "on-demand throughput isn't supported". Each suggested id was
called once; the Claude ones now start with "global.", Llama, Pixtral and
Nova 2 Lite with "us.". Nova Premier (end of life) and the ids without a
working profile are gone. The docs example had the same problem and a
wrong date.
2026-10-04 21:18:45 +09:00

11 KiB
Raw Blame History

AI 提供商配置

本指南介绍如何为 next-ai-draw-io 配置不同的 AI 模型提供商。

快速开始

  1. 将 .env.example 复制为 .env.local
  2. 设置所选提供商的 API 密钥
  3. 将 AI_MODEL 设置为所需的模型
  4. 运行 npm run dev

支持的提供商

豆包 (字节跳动火山引擎)

免费 Token:在 火山引擎 ARK 平台 注册,即可获得所有模型 50 万免费 Token!

DOUBAO_API_KEY=your_api_key
AI_MODEL=doubao-seed-1-8-251215  # 或其他豆包模型

Google Gemini

GOOGLE_GENERATIVE_AI_API_KEY=your_api_key
AI_MODEL=gemini-2.0-flash

可选的自定义端点:

GOOGLE_BASE_URL=https://your-custom-endpoint

OpenAI

OPENAI_API_KEY=your_api_key
AI_MODEL=gpt-4o

可选的自定义端点(用于 OpenAI 兼容服务):

OPENAI_BASE_URL=https://your-custom-endpoint/v1

AIHubMix

AIHubMix 通过单个 API Key 聚合 Claude、GPT、Gemini、DeepSeek 等模型。

AIHUBMIX_API_KEY=your_api_key
AI_MODEL=claude-sonnet-4-5-20250929

可选的自定义端点:

AIHUBMIX_BASE_URL=https://aihubmix.com/v1

Anthropic

ANTHROPIC_API_KEY=your_api_key
AI_MODEL=claude-sonnet-4-5-20250514

或者使用 Bearer 认证令牌(例如通过会下发 OAuth 风格 token 的网关时)。ANTHROPIC_AUTH_TOKEN 会作为 Authorization: Bearer <token> 头发送,而 ANTHROPIC_API_KEY 会作为 x-api-key 头发送。两者互斥,只能设置其中之一:

ANTHROPIC_AUTH_TOKEN=your_auth_token
AI_MODEL=claude-sonnet-4-5-20250514

可选的自定义端点:

ANTHROPIC_BASE_URL=https://your-custom-endpoint

DeepSeek

DEEPSEEK_API_KEY=your_api_key
AI_MODEL=deepseek-chat

可选的自定义端点:

DEEPSEEK_BASE_URL=https://your-custom-endpoint

SiliconFlow (OpenAI 兼容)

SILICONFLOW_API_KEY=your_api_key
AI_MODEL=deepseek-ai/DeepSeek-V3  # 示例;使用任何 SiliconFlow 模型 ID

可选的自定义端点(默认为推荐域名):

SILICONFLOW_BASE_URL=https://api.siliconflow.com/v1  # 或 https://api.siliconflow.cn/v1

SGLang

SGLANG_API_KEY=your_api_key
AI_MODEL=your_model_id

可选的自定义端点:

SGLANG_BASE_URL=https://your-custom-endpoint/v1

Azure OpenAI

AZURE_API_KEY=your_api_key
AZURE_RESOURCE_NAME=your-resource-name  # 必填:您的 Azure 资源名称
AI_MODEL=your-deployment-name

或者使用自定义端点代替资源名称:

AZURE_API_KEY=your_api_key
AZURE_BASE_URL=https://your-resource.openai.azure.com  # AZURE_RESOURCE_NAME 的替代方案
AI_MODEL=your-deployment-name

可选的推理配置:

AZURE_REASONING_EFFORT=low      # 可选:low, medium, high
AZURE_REASONING_SUMMARY=detailed  # 可选:none, brief, detailed

AWS Bedrock

AWS_REGION=us-west-2
AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEY=your_secret_access_key
AI_MODEL=global.anthropic.claude-sonnet-5-5

较新的 Claude 模型只能通过推理配置文件(inference profile)的 ID 调用,这种 ID 以地区前缀开头,例如 global. 或 us.。直接用 anthropic.claude-sonnet-5-5 这样的 ID 会报错 “on-demand throughput isn't supported”。

注意:在 AWS 环境(Lambda、带有 IAM 角色的 EC2)中,凭证会自动从 IAM 角色获取。

OpenRouter

OPENROUTER_API_KEY=your_api_key
AI_MODEL=anthropic/claude-sonnet-4

可选的自定义端点:

OPENROUTER_BASE_URL=https://your-custom-endpoint

Ollama (本地)

AI_PROVIDER=ollama
AI_MODEL=llama3.2

ModelScope

MODELSCOPE_API_KEY=your_api_key
AI_MODEL=Qwen/Qwen3-235B-A22B-Instruct-2507

可选的自定义端点:

MODELSCOPE_BASE_URL=https://your-custom-endpoint

可选的自定义 URL:

OLLAMA_BASE_URL=http://localhost:11434

Vercel AI Gateway

Vercel AI Gateway 通过单个 API 密钥提供对多个 AI 提供商的统一访问。这简化了身份验证,让您无需管理多个 API 密钥即可在不同提供商之间切换。

基本用法(Vercel 托管网关):

AI_GATEWAY_API_KEY=your_gateway_api_key
AI_MODEL=openai/gpt-4o

自定义网关 URL(用于本地开发或自托管网关):

AI_GATEWAY_API_KEY=your_custom_api_key
AI_GATEWAY_BASE_URL=https://your-custom-gateway.com/v1/ai
AI_MODEL=openai/gpt-4o

模型格式使用 provider/model 语法:

  • openai/gpt-4o - OpenAI GPT-4o
  • anthropic/claude-sonnet-4-5 - Anthropic Claude Sonnet 4.5
  • google/gemini-2.0-flash - Google Gemini 2.0 Flash

配置说明:

  • 如果未设置 AI_GATEWAY_BASE_URL,则使用默认的 Vercel Gateway URL (https://ai-gateway.vercel.sh/v1/ai)
  • 自定义基础 URL 适用于:
    • 使用自定义网关实例进行本地开发
    • 自托管 AI Gateway 部署
    • 企业代理配置
  • 当使用自定义基础 URL 时,必须同时提供 AI_GATEWAY_API_KEY

从 Vercel AI Gateway 仪表板 获取您的 API 密钥。

MiniMax

MiniMax 支持两种 API 格式:

  • Anthropic 兼容(/anthropic 端点)— 推荐,支持 interleaved thinking
  • OpenAI 兼容(/v1 端点)— 标准 OpenAI 聊天补全格式
MINIMAX_API_KEY=your_api_key
AI_MODEL=MiniMax-M3

可选配置:

# 中国大陆版,Anthropic 兼容(默认)
MINIMAX_BASE_URL=https://api.minimaxi.com/anthropic

# 中国大陆版,OpenAI 兼容
MINIMAX_BASE_URL=https://api.minimaxi.com/v1

# 国际版,Anthropic 兼容
MINIMAX_BASE_URL=https://api.minimax.io/anthropic

# 国际版,OpenAI 兼容
MINIMAX_BASE_URL=https://api.minimax.io/v1

GLM (智谱 AI)

GLM_API_KEY=your_api_key
AI_MODEL=glm-4

可选的自定义端点:

GLM_BASE_URL=https://your-custom-endpoint

Qwen (阿里云通义千问)

QWEN_API_KEY=your_api_key
AI_MODEL=qwen-turbo

可选的自定义端点:

QWEN_BASE_URL=https://your-custom-endpoint

Kimi (月之暗面 Moonshot AI)

KIMI_API_KEY=your_api_key
AI_MODEL=kimi-latest

可选的自定义端点:

KIMI_BASE_URL=https://your-custom-endpoint

Qiniu (七牛云)

QINIU_API_KEY=your_api_key
AI_MODEL=your_model_id

可选的自定义端点:

QINIU_BASE_URL=https://your-custom-endpoint

MiMo (小米)

MIMO_API_KEY=your_api_key
AI_MODEL=mimo-v2.5-pro

可选的自定义端点(Token Plan 订阅用户请设置专属 Base URL):

MIMO_BASE_URL=https://token-plan-cn.xiaomimimo.com/v1

自动检测

如果您只配置了一个提供商的 API 密钥,系统将自动检测并使用该提供商。无需设置 AI_PROVIDER。

如果您配置了多个 API 密钥,则必须显式设置 AI_PROVIDER:

AI_PROVIDER=google  # 或:openai, anthropic, aihubmix, deepseek, siliconflow, doubao, azure, bedrock, openrouter, ollama, gateway, sglang, modelscope, minimax, glm, qwen, kimi, qiniu, mimo

服务端多模型配置

管理员可以配置多个服务端模型,让所有用户无需提供个人 API Key 即可使用。

配置方式

方式一:环境变量(推荐用于云部署)

设置 AI_MODELS_CONFIG 为 JSON 字符串:

AI_MODELS_CONFIG='{"providers":[{"name":"OpenAI","provider":"openai","models":["gpt-4o"],"default":true}]}'

方式二:配置文件

在项目根目录创建 ai-models.json 文件(或通过 AI_MODELS_CONFIG_PATH 指定路径)。

方式三:AI_MODEL 用逗号分隔(单 provider 的快速配置)

如果只需要暴露同一 provider 下的多个模型,可以直接在 AI_MODEL 里用逗号分隔。第一个模型会作为默认值。

AI_PROVIDER=doubao
AI_MODEL=doubao-seed-1-8-251215,doubao-seed-1-6-flash,doubao-seed-1-6-pro

这是等价 ai-models.json 的简写形式。如果需要配置多个 provider,或自定义 apiKeyEnv / baseUrlEnv,请使用方式一或方式二。

配置示例

{
  "providers": [
    {
      "name": "OpenAI Production",
      "provider": "openai",
      "models": ["gpt-4o", "gpt-4o-mini"],
      "default": true
    },
    {
      "name": "Custom DeepSeek",
      "provider": "deepseek",
      "models": ["deepseek-chat"],
      "apiKeyEnv": "MY_DEEPSEEK_KEY",
      "baseUrlEnv": "MY_DEEPSEEK_URL"
    }
  ]
}

字段说明

字段 必填 说明
name 是 显示名称(支持同一提供商多个配置)
provider 是 提供商类型(openai, anthropic, google, bedrock 等)
models 是 模型 ID 列表
default 否 设为 true 表示默认选中该提供商的第一个模型
apiKeyEnv 否 自定义 API Key 环境变量名(默认使用提供商标准变量如 OPENAI_API_KEY)
baseUrlEnv 否 自定义 Base URL 环境变量名

说明

  • API Key 和凭证通过环境变量提供。默认使用标准变量名(如 OPENAI_API_KEY),也可通过 apiKeyEnv 指定自定义变量名。
  • name 字段允许同一提供商多个配置(例如 "OpenAI Production" 和 "OpenAI Staging" 都使用 provider: "openai" 但 apiKeyEnv 不同)。
  • 如果配置不存在,应用会回退到 AI_PROVIDER/AI_MODEL 环境变量配置。

模型能力要求

此任务对模型能力要求极高,因为它涉及生成具有严格格式约束(draw.io XML)的长文本。

推荐模型:

  • Claude Sonnet 4.5 / Opus 4.5

关于 Ollama 的说明:虽然支持将 Ollama 作为提供商,但除非您在本地运行像 DeepSeek R1 或 Qwen3-235B 这样的高性能模型,否则对于此用例通常不太实用。

温度设置 (Temperature)

您可以通过环境变量选择性地配置温度:

TEMPERATURE=0  # 输出更具确定性(推荐用于图表)

重要提示:对于不支持温度设置的模型(例如以下模型),请勿设置 TEMPERATURE:

  • GPT-5.1 和其他推理模型
  • 某些专用模型

未设置时,模型将使用其默认行为。

推荐

  • 最佳体验:使用支持视觉的模型(GPT-4o, Claude, Gemini)以获得图像转图表功能
  • 经济实惠:DeepSeek 提供具有竞争力的价格
  • 隐私保护:使用 Ollama 进行完全本地、离线的操作(需要强大的硬件支持)
  • 灵活性:OpenRouter 通过单一 API 提供对众多模型的访问