Dify模型供应商配置与排错
本文说明 dify部署 后如何核对模型供应商、凭据和 model 名称,并按 Ollama 插件 Base URL 不带 /api 的规则用容器状态与 API 响应排错。
完成这套 dify部署 后,你会在 Dify 中安装模型供应商、配置 URL 与凭据,并添加可调用的模型;最后用容器状态和一次 Ollama API 请求确认调用链。开始前需要满足最低配置的机器、可用的 Docker 环境、目标供应商凭据,以及连接本地 Ollama 时准备好的服务地址。
准备条件:dify部署前的资源与权限
按 Dify 的 README,最低配置为 CPU >= 2 Core、RAM >= 4 GiB。
按 Dify 的模型供应商文档,只有 workspace owner 和 admins 能管理供应商;可在 Integrations > Model Provider 或 Marketplace 找到插件,安装后进入 Setup 填写 API key 和其他必填项。凭据应先保存在受控环境变量中,填写表单时再读取,不要把明文写进 Modelfile、命令或错误报告。
操作步骤
- 下载并启动 Dify。
bash
git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose version
docker compose up -d
按 Dify 的 Docker Compose 部署文档,Linux 需要 Docker 19.03+ 和 Docker Compose 2.24.0+,macOS 的 Docker Desktop VM 至少配置 2 vCPUs、8 GiB 内存,Windows 需要 WSL 2 且源码和绑定数据应放在 Linux 文件系统;这组命令依赖 git、curl、jq,依次取得最新 release tag、创建 .env、检查 Compose 并启动服务。
- 安装模型供应商。
text
Integrations > Model Provider
Marketplace
Setup
按 Dify 的模型供应商文档,安装与目标服务对应的插件后进入 Setup,填写 API key 和其他必填详情;填写前从受控环境变量读取凭据,不要复制到公开配置或问题报告中。
- 配置 Ollama 插件。
text
Settings > Model Providers > Ollama
Base URL
API Key
Model Type
Model Context Length
按 Ollama 模型供应商插件 README,应先从 Marketplace 安装插件,再添加模型;Base URL 只填主机根地址,不能带 /api,本地部署的 API key 可选而 Ollama cloud 必填,Docker 中的 Dify 应使用容器可达的 http://host.docker.internal:11434 或局域网 IP。
该 Ollama 模型供应商插件 README 说明,需要 tool calling、vision 或 multi-turn chat 时将 Model Type 设为 Chat,并让 Model Context Length 对应模型上下文窗口;嵌入模型使用 Text Embedding,Ollama 当前没有原生 rerank endpoint,rerank 需求应接入兼容服务。
- 核对 Modelfile 和模型名称。
dockerfile
FROM llama3.2
PARAMETER num_ctx 4096
按 Ollama Modelfile 参考,FROM 是唯一必需指令并定义基础模型,PARAMETER 设置运行参数;上面的 llama3.2 和 num_ctx 4096 来自文档示例。
在 Modelfile 所在目录创建自定义模型:
bash
ollama create YOUR_VALUE
按 Ollama CLI Reference,ollama create 用于根据 Modelfile 创建模型;把这里的 YOUR_VALUE 记录下来,后续验证请求中的 model 应使用实际创建出的名称。
怎么确认成功
确认 Dify 容器
docker compose ps
按 Dify 的 Docker Compose 部署文档,各容器应处于 Up 或 healthy 状态;init_permissions 显示 Exited 属于预期结果。
确认 Ollama 模型
直接调用时要区分 endpoint:按 Ollama API 入门文档,原生 API 根地址是 http://localhost:11434/api,OpenAI-compatible 根地址是 http://localhost:11434/v1。
curl http://localhost:11434/api/generate -d '{ "model": "YOUR_VALUE", "prompt": "Why is the sky blue?", "stream": false }'
把 YOUR_VALUE 换成实际模型名称;按 Ollama API 文档,模型名称采用 model:tag,未提供 tag 时默认为 latest,而 "stream": false 会返回单个 JSON 对象而不是流,正确结果应是一个 response object。
常见出错点
- 看不到供应商管理入口。 使用 workspace owner 或 admins 账户,再检查插件是否已安装并进入
Setup。 - 请求未到达 Ollama。 按前述插件规则检查
Base URL,删除额外的/api,并确认地址能从 Dify 容器访问;Ollama cloud 同时检查受控环境变量中的凭据。 - 模型名称不一致。 把 Dify 的 model 字段与验证请求中的
model值逐字对齐,不要用应用名称或供应商插件名称代替实际模型名称。 - rerank 任务失败。 不要把
Chat或Text Embedding模型直接当作 rerank 服务,按前述说明转到兼容的 rerank 服务。 - 错误日志无法定位。 记录时间、供应商插件、最终 URL、model 值、Dify 显示的完整错误和响应内容,并删除 API key;如果宿主机请求成功而 Dify 仍失败,优先比较容器可达地址、凭据和模型配置。
这些步骤依据正文所链接的官方文档整理,未在本站机器上运行;请按当前版本复核。