Dify 接入 OpenAI 兼容模型:2026 最简配置教程,5 分钟搞定多模型切换

6 阅读1分钟

上周在 Dify 上搭一个客服 Agent,同时要用 GPT-5 做意图识别、Claude Opus 4.6 做长文本总结。结果光配置模型供应商这一步就搞了大半天——两家 API 鉴权方式不同,Key 管理也乱得一批。后来发现只要用 OpenAI 兼容协议接一个聚合接口,改一个 base_url 就全解决了,省下来的时间够我多摸两把鱼。

核心步骤其实很简单:进入「设置 → 模型供应商」,选 OpenAI-API-compatible,填 API Key 和 base_url,保存,完事。不超过 5 分钟。下面把完整流程和踩过的坑都记下来。

先说结论

维度直接接官方 API用 OpenAI 兼容聚合接口
配置复杂度每家单独配,至少 3 套 Key1 个 Key + 1 个 base_url
模型切换换供应商要重新配只改 model 参数
鉴权方式各家不同(Bearer/x-api-key 等)统一 Bearer Token
Streaming 兼容部分模型需要适配聚合层统一处理
上手时间30 分钟+5 分钟

要在 Dify 里同时用两个以上模型,走 OpenAI 兼容协议接聚合接口是最省事的方案。

环境准备

  • Dify v0.11.x 或更高(社区版 / 云端版均可)
  • 一个支持 OpenAI 兼容协议的 API Key 和 base_url
  • 浏览器,没了

我用的是 Docker 自建的社区版。云端版 cloud.dify.ai 操作完全一样,界面有微小差异。

graph LR
 A[Dify 工作流/Chatbot] -->|OpenAI 协议| B[聚合 API 网关]
 B --> C[GPT-5]
 B --> D[Claude Opus 4.6]
 B --> E[Gemini 3]
 B --> F[DeepSeek V3]
 B --> G[Qwen 3]

Dify 侧只配一次,后面换模型直接在节点里改 model name 就行。

方案一:接入 OpenAI 官方 API(单模型场景)

只用 GPT-5 一个模型的话,直接接官方最直接。

第一步:进入模型供应商配置

登录 Dify → 点右上角头像 → 「设置」→ 左侧「模型供应商」

第二步:找到 OpenAI,点击配置

在供应商列表找到 OpenAI,点「设置」,填入:

API Key: sk-proj-xxxxxxxxxxxxxxxx

保存。Dify 会自动拉取可用模型列表(gpt-5、gpt-5-mini 等)。

第三步:在工作流中使用

新建 Chatbot 或 Workflow,在 LLM 节点选模型,下拉就能看到刚才配的 OpenAI 模型了。

这个方案的问题:只能用 OpenAI 一家的模型。想加 Claude 得再配 Anthropic,想加 Gemini 又得配一套,每家 Key 管理和鉴权方式都不同,模型一多就很头疼。

方案二:用 OpenAI 兼容协议接聚合 API(推荐,多模型场景)

一次配置,所有模型都能用。

第一步:进入模型供应商配置

登录 Dify → 「设置」→「模型供应商」

第二步:找到 OpenAI-API-compatible

注意,不是选「OpenAI」,往下翻找到 OpenAI-API-compatible。这是 Dify 内置的通用兼容供应商,支持任何遵循 OpenAI 协议的第三方接口。

点「添加模型」,填入:

Model Name: gpt-5
Model Type: LLM
API Key: 你的聚合平台 Key
API Base URL: https://api.ofox.ai/v1

有个坑:Model Name 必须和聚合平台上模型的实际 ID 完全一致。比如有些平台 Claude 的 model name 是 claude-opus-4.6-20260301,就得填完整的,不能只填 claude

第三步:配置模型参数

Context Window: 128000 (根据模型实际值填)
Max Tokens: 16384 (模型最大输出)
Streaming:  开启
Function Calling:  支持 (如果要用工具节点)
Vision:  支持 (如果接的是多模态模型)

第四步:保存并测试

保存后回到编辑器,在 LLM 节点选模型,能看到刚才添加的模型就对了。发句话测一下,能正常回复就通了。

加更多模型?重复第二步,每次只改 Model Name:

模型 1: gpt-5  Base URL: https://api.ofox.ai/v1
模型 2: claude-opus-4.6  Base URL: https://api.ofox.ai/v1
模型 3: gemini-3-pro  Base URL: https://api.ofox.ai/v1
模型 4: deepseek-chat  Base URL: https://api.ofox.ai/v1

ofox.ai 是 AI 模型聚合平台,一个 API Key 可以调用 GPT-5、Claude Opus 4.6、Gemini 3 等 50+ 模型,兼容 OpenAI 协议,低延迟直连,支持支付宝付款,按量计费。

先用 Python 验证 API

在 Dify 里配完发现不工作,别急着怀疑 Dify 有 bug——先用脚本测一下 API 本身是否通:

from openai import OpenAI

client = OpenAI(
 api_key="your-key",
 base_url="https://api.ofox.ai/v1"
)

# 测试基础对话
response = client.chat.completions.create(
 model="gpt-5",
 messages=[
 {"role": "user", "content": "你好,测试一下连通性"}
 ],
 stream=True
)

for chunk in response:
 if chunk.choices[0].delta.content:
 print(chunk.choices[0].delta.content, end="", flush=True)
print()

脚本能正常输出,说明 API 没问题,问题在 Dify 配置。脚本就报错,先解决 API 的问题。

踩坑记录

坑 1:Base URL 末尾多了斜杠

❌ https://api.ofox.ai/v1/
✅ https://api.ofox.ai/v1

Dify 拼接端点时会自己加 /chat/completions,base_url 末尾多个 /,最终请求变成 v1//chat/completions,直接 404。看日志才发现,Dify 前端只告诉你「模型调用失败」,信息量为零。

坑 2:Model Name 大小写敏感

填了 GPT-5,结果模型不存在。应该是 gpt-5(小写)。各平台模型 ID 命名规范不同,最保险的办法是去文档里直接复制。

坑 3:Context Window 填错导致长对话被截断

Dify 会根据 Context Window 值做上下文管理。把 GPT-5 的窗口填成了 4096,多轮对话到第三轮就开始丢上下文。GPT-5 是 128K,Claude Opus 4.6 是 200K,别填错。

坑 4:Streaming 没开导致超时

Dify 对 LLM 调用有超时限制。生成长文本时,非 Streaming 模式可能触发超时,建议一律开启。

坑 5:Function Calling 勾选了但模型不支持

不是所有模型都支持 Function Calling。如果在工具节点里用了一个不支持 FC 的模型,会直接报错。只对确认支持的模型勾选这个选项。

进阶:一个 Workflow 里混用多个模型

这才是聚合接口真正爽的地方。我现在有一个 Workflow 是这样的:

graph TD
 A[用户输入] --> B[意图识别<br/>GPT-5-mini]
 B -->|问答类| C[知识库检索 + RAG<br/>DeepSeek V3]
 B -->|总结类| D[长文本总结<br/>Claude Opus 4.6]
 B -->|代码类| E[代码生成<br/>GPT-5]
 C --> F[输出]
 D --> F
 E --> F

不同节点用不同模型,各取所长:GPT-5-mini 便宜适合做意图分类,DeepSeek V3 性价比高适合 RAG,Claude Opus 4.6 长文本理解强适合做总结。所有模型共用同一个 API Key 和 base_url,管理起来毫无负担。

小结

Dify 接入模型就两步:

  1. OpenAI-API-compatible 供应商(不是 OpenAI)
  2. 填 API Key + Base URL + 正确的 Model Name

多模型场景下,用聚合接口比逐个配官方省太多事。现在 Dify 上跑着 5 个模型,配置页面干干净净,不用管一堆 Key。

Dify 的模型供应商配置界面做得确实粗糙——报错信息不够详细,填错了也不校验格式。但作为免费开源的 LLM 应用开发平台,整体还是很能打的,等后面版本改进吧。

有问题评论区聊,踩到新坑我会更新上来。