📝 文章声明 :本笔记基于 B 站黑马程序员《零基础玩转 Dify》课程学习整理,融合课程素材与个人理解,由大模型辅助生成,仅作个人学习分享,不作为权威教程。原课程讲解透彻、实操性强,想要完整系统学习,欢迎观看原版课程:《零基础玩转 Dify》
本地 Ollama 怎么接、云端 API 怎么接、最后怎么选。
一、先看清两条路
Dify 要用模型,只有两条路:
路线 A:接本地模型 Dify ──→ Ollama(你电脑上的 11434 端口)──→ qwen2.5
路线 B:接云端 API Dify ──→ 云端服务商(百炼/DeepSeek)──→ 通义千问/DeepSeek
两条路的操作步骤其实高度相似:装供应商 → 填地址和密钥 → 添加模型 → 测试。差别只在"地址填哪儿、要不要密钥"。
二、路线 A:接入本地 Ollama 模型
2.1 先花 30 秒理解 Ollama 的角色
Ollama 是本地大模型的管理工具,它干三件事:把模型下载到本地、把模型跑起来、对外开一个服务端口(默认 11434)供别的软件调用。
关键就在最后一条:Dify 并不"认识"你的模型文件,它只认识那个端口。所以接入的本质是------告诉 Dify 那个端口在哪。
2.2 本地模型的准备(三步,五分钟)
- 装 Ollama:官网 https://ollama.com/download 下载安装,装完托盘有图标;
- 下模型 :Ollama 界面里搜
qwen2.5:1.5b下载(小机器先跑这个,1 GB 出头,没显卡也流畅); - 确认能用 :命令行
ollama list能看到模型名,浏览器打开 http://localhost:11434 显示Ollama is running。
这一步的产出物是一个模型名字 ,比如 qwen2.5:latest。记下它,下一步要用,且必须一字不差(:latest 后缀也算)。
2.3 在 Dify 里配置(详细)
第 1 步:装 Ollama 供应商
登录 Dify → 右上角头像 → 设置 → 模型供应商 → 搜 Ollama → 安装。
装完这一步,Dify 才具备"跟 Ollama 说话"的能力。没装之前,你在模型列表里根本找不到它。
第 2 步:添加模型
在模型供应商列表找到 Ollama,点「添加模型」,会弹出一个表单。几个关键字段:
| 字段 | 怎么填 | 注意什么 |
|---|---|---|
| 模型名称 | qwen2.5:latest |
必须和 ollama list 完全一致,这是 Dify 认模型的唯一凭据 |
| 基础 URL | http://host.docker.internal:11434 |
Docker 部署必填这个,见下方说明 |
| 模型类型 | LLM | 对话模型都选 LLM; embedding 模型另说 |
| 模型上下文长度 | 4096 或 8192 | 模型一次能"记住"多少字。小模型填大了会报错或变慢,4096 起步稳妥 |
| 最大 token 数 | 1024~2048 | 单次回复的长度上限。填太小会话说一半被截断 |
| 是否支持视觉 / 函数调用 | 按模型实际能力勾 | 不确定就先不勾,需要时再改 |
关于基础 URL 的重点说明:
Dify 用 Docker 部署时,一定要填 http://host.docker.internal:11434,不能填 localhost。
原因就一句:Dify 跑在 Docker 容器里,容器眼里的 localhost 是容器自己,不是你的电脑。 host.docker.internal 是 Docker 预留的"宿主机门牌",专门用来从容器访问外面的电脑。
如果 Dify 装在另一台机器上,则填 http://那台Ollama机器的IP:11434。
第 3 步:保存并确认
保存后回到模型列表,Ollama 那一栏下面应该出现你刚加的模型。如果列表是空的,多半是保存时校验没通过------常见原因是基础 URL 连不通。
第 4 步:建应用测试
工作台 → 创建空白应用 → 选「聊天助手」→ 模型选 qwen2.5 → 在右侧调试窗口发一句"你好,介绍一下你自己"。
观察点:
- 第一次回复会慢一些(模型要加载进显存),后面快;
- 回答质量明显不如云端大模型,这是正常的,1.5B 就是这个水平;
第 5 步(可选):接入 Agent 客户端
同一个本地模型,也能接给桌面 Agent 软件用。因为客户端装在你自己电脑上,地址填 http://localhost:11434/v1(注意带 /v1,那是 OpenAI 兼容接口),Key 随便填。
三、路线 B:接入云端 API 大模型
本地模型免费、私密,但能力有上限------1.5B 的模型写个通知还行,写方案、做复杂推理就吃力了。想要更强的"大脑",就接云端 API:按用量付钱,模型跑在别人服务器上,你只管调。
这里以阿里云百炼(通义千问)为例,其他厂商(DeepSeek、智谱、月之暗面)流程几乎一样。
3.1 注册与实名
- 打开 https://www.aliyun.com/product/bailian ,手机号注册阿里云账号;
- 登录百炼控制台,完成实名认证(不做这一步,所有模型都用不了);
- 看一眼账户余额:新用户一般有免费额度,用完就得充值。API 按 token 计费,个人学习阶段花不了几块钱。
3.2 拿 API Key
进百炼控制台的「API-KEY」页面,点创建,生成一串密钥,立刻复制保存(页面关掉后不一定能再看全)。
这串 Key 就是你的点餐卡,等于钱:别发群、别传网盘、别截图露出来。
3.3 在 Dify 里配置
- 模型供应商里搜「通义千问」(Qwen),安装;
- 点进去,把 API Key 粘到密钥框里保存;
- 在模型列表里添加要用的模型。百炼的模型名有讲究:
| 模型名 | 特点 | 适合 |
|---|---|---|
qwen-turbo |
便宜、快 | 简单问答、批量处理 |
qwen-plus |
均衡 | 日常主力,推荐先用这个 |
qwen-max |
最贵、最强 | 复杂推理、长文写作 |
(具体可用模型和价格以百炼控制台为准,模型名也可能随版本更新,添加时列表里能选到什么就用什么。)
- 有些供应商页面上还有「Base URL」需要确认------用官方默认的就行,别乱改。
3.4 测试
建应用 → 选通义千问的模型 → 发消息。正常返回就通了。
顺便对比一下同样的提问,本地 1.5B 和云端 qwen-plus 的回答质量差距,你会对"能力上限"这四个字有直观感受。
四、本地模型 vs API 模型,怎么选
4.1 六个维度摊开对比
| 维度 | 本地模型(Ollama) | API 模型(百炼等) |
|---|---|---|
| 费用 | 免费(电费除外) | 按 token 计费,用多少付多少 |
| 数据安全 | 数据完全不出本机 | 数据要发到服务商服务器 |
| 能力上限 | 受电脑配置限制,通常 1.5B~14B | 云端千亿级模型,明显更强 |
| 速度 | 看显卡:有 N 卡流畅,纯 CPU 很慢 | 稳定,通常几秒内响应 |
| 稳定性 | 关机就没了,模型更新要手动 | 7×24 在线,模型持续升级 |
| 隐私合规 | 天然合规,适合涉密 | 需看清服务商的数据使用条款 |
4.2 按场景对号入座
- 选本地:处理公司合同、客户名单、病历等敏感资料;要在断网/内网环境跑;只是学习练手不想花钱;需要大量重复调用(比如批量处理几千条文本,走 API 会心疼)。
- 选 API:追求回答质量,要做方案、写长文、复杂推理;电脑配置一般(没独显或显存小);要对外提供服务,不能因为关机就断;需要长上下文(几十万字文档分析)。
4.3 最实用的做法:混着用
真实项目里很少二选一,常见组合是:
- 敏感数据走本地,普通问答走 API ------ 在 Dify 里建两个模型配置,应用里按场景选;
- 本地做预筛,云端做精加工 ------ 比如本地小模型先把一万条评论分类粗筛,把有问题的几百条丢给云端模型细分析,成本降一个量级;
- 开发调试用本地,上线跑 API ------ 调试阶段反复试提示词,token 烧得快,用本地省钱;定稿后切云端保证效果。
4.4 关于成本,给个直观感受
以通义千问为例,日常问答应答一次通常只消耗几百到几千 token。按 qwen-plus 的价格算,一块钱能问上百次。所以个人学习阶段不必纠结成本,真正要算账的是批量处理场景。
本地模型的"成本"则体现在别处:一台能流畅跑 7B 模型的电脑,显卡就得好几千;而且它一直在吃电。
五、两条路线共通的坑
| 坑 | 症状 | 解法 |
|---|---|---|
| 模型名称写错 | 保存时报错或调用时 404 | ollama list 抄名字,:latest 别丢 |
| Docker 里填 localhost | 连接超时 | 改 host.docker.internal |
| Ollama 只听本机 | 浏览器能开,Dify 连不上 | 设 OLLAMA_HOST=0.0.0.0 重启 Ollama |
| API Key 有空格 | 401/403 认证失败 | 重新复制,注意首尾空格 |
| 余额不足/没实名 | 401 或提示权限问题 | 充值 + 完成实名认证 |
| 上下文长度填太大 | 报错或响应极慢 | 小模型填 4096,按需再调 |
| 最大 token 太小 | 回答被截断 | 调到 1024 以上 |
六、这一篇要记住的
- 两条路,同一套逻辑:装供应商 → 填地址(本地)或密钥(云端)→ 添加模型 → 测试。
- 本地接入的三个必填项 :模型名称(从
ollama list抄)、模型类型(LLM)、基础 URL(Docker 用host.docker.internal)。 - API 接入的两个前提:实名认证 + 账户有余额,缺一个都用不了。
- 选型不是二选一:敏感数据本地跑,追求效果用 API,真实项目里通常是两条腿走路。