Dify 自定义模型:接入 OpenAI 兼容 API
配置 Dify 自定义模型的凭证、API 模式与能力,区分聊天和知识库向量模型,并通过一个小工作流定位验证失败。
发布 2026-09-29 · 更新 2026-09-29 · KeepRouter Editorial · 5 分钟阅读

在 Dify 中使用 OpenAI-API-compatible 模型供应商,填写目标网关的基础地址、准确模型 ID 和凭证,再选择该线路真正支持的能力。勾选工具调用或结构化输出,并不会给模型增加相应功能。
如果是在现有应用里换模型,验收目标是“已发布应用确实用新模型完成指定任务”,不能停留在凭证窗口显示成功。
分清供应商、模型与应用
Dify 在工作区配置模型访问,官方说明列出了管理员职责。应用随后选择模型;新增一个供应商,不会自动把所有工作流切过去。
选择当前版本可用的官方 OpenAI-API-compatible 插件。插件配置定义区分模型名、显示名称、API Key 和基础地址。记录插件版本与工作流版本,便于解释之后的行为变化。
| 配置 | 起步值 | 注意点 |
|---|---|---|
| 模型名 / 端点模型名 | free | 用于文本连通测试 |
| API Base URL | https://keeprouter.com/v1 | 由插件补齐具体操作路径 |
| API Key | 保存在供应商配置中的 KeepRouter Key | 不能用其他服务的 Key |
| 对话类型(Completion mode) | 对话(Chat) | 本例使用 Chat Completions |
| 能力 | 仅填写确认支持的项目 | 会影响插件发送的参数 |
按安装版本中实际出现的字段填写。“客服助手”这样的显示名不能替代发给 API 的真实模型 ID。
用三个节点做一个可检查的测试
建立“文本输入、LLM、输出”三个节点,暂不加入知识库、工具或长会话。输入下面的小文档:
规则:试用账户可以创建两个项目,付费账户可以创建十个项目。
问题:试用账户最多创建几个项目?
返回数量,并引用支持答案的原句。正确事实是两个。措辞可以不同,但不能回答成付费账户的十个,也不能凭空增加价格。先运行草稿,再发布到测试应用执行相同输入。如果两次结果不同,优先检查发布版本和模型选择。
知识库不是聊天模型的附属开关
知识库通常还需要向量模型,某些工作流还使用 reranker。聊天成功不能证明这两条路径可用;插件支持多种模型类型,也不意味着一个型号可以同时承担全部角色。
先保留原来的向量模型,只替换生成答案的模型。若确实需要换向量模型,应按重建索引指南处理,不把不同模型生成的向量混入同一索引。
再加入一个容易混淆的文档,例如另一种账户的项目限制。查看检索片段和最终回答:检索片段错误,应先修检索;片段正确但答案错误,才继续检查提示词与生成模型。
查看验证请求到底发了什么
插件实现包含端点与 token 参数差异处理,因此验证失败不一定代表 Key 错误。
| 错误 | 最小排查范围 |
|---|---|
| 认证失败 | 目标地址与凭证所属服务 |
| 模型不存在 | 真正发出的端点模型名 |
| token 参数无效 | 插件版本、参数模式和脱敏错误 |
| 不支持输出格式 | 该模型线路是否支持所选格式 |
| 本机成功、Dify 失败 | 插件运行环境的网络,而非浏览器网络 |
不要通过关闭证书验证解决连接问题。反馈问题时保留请求结构和状态码,移除密钥及私有文本。
按应用任务核算费用
问题改写、分类、检索总结和最终回答可能各发一次请求。一个包含三个模型节点且其中一个重试一次的示例,就有四次调用。统计真正完成的任务数,再与账单比较。
到模型目录选择付费候选,保持相同测试问题,通过费用计算器估算用量。按快速开始建立测试凭证,在发布版本通过检查之前保留旧工作流。
常见问题
改供应商会自动迁移所有 Dify 应用吗?
不会。需要检查每个工作流选择的模型及其发布版本。工作区可用模型与应用实际选择是两项设置。
聊天模型能直接给知识库生成向量吗?
需要单独配置合适的向量模型与端点。聊天连接不能替代向量或重排配置。
这是 Dify 的性能实测吗?
不是。这是根据官方资料核对的配置与验证指南。需要在实际 Dify 和插件版本运行样本,才能判断性能。
参考的一手资料
本文最近复核 2026-09-29
- [1] Dify model providers
- [2] Official compatible-provider schema
- [3] Official compatible-provider implementation