本地微调的Ollama模型部署到Dify平台上
微调后的模型需适配Ollama框架
- Ollama支持通过
Modelfile自定义模型参数和加载本地模型文件。微调后的模型需遵循Ollama的格式要求(例如GGUF格式或适配Ollama的模型定义文件),才能通过ollama run <模型名称>启动服务。 - 操作示例 :
- 将微调后的模型文件保存至Ollama的默认模型目录(如Linux的
/usr/share/ollama/.ollama/models)。 - 通过
ollama create <自定义模型名> -f Modelfile创建模型描述文件,指定微调后的模型路径和参数。
- 将微调后的模型文件保存至Ollama的默认模型目录(如Linux的
在Dify中配置Ollama服务
- 模型接入步骤 :
- 启动Ollama服务 :确保微调后的模型通过
ollama run <模型名>正常运行,并在本地11434端口暴露API服务。 - Dify模型配置 :
- 进入Dify的"设置 > 模型供应商 > Ollama",填写以下信息:
- 模型名称 :与Ollama中定义的微调模型名称一致(需通过
ollama list确认)。 - 基础URL :根据部署环境选择:
- Docker部署:使用宿主机IP(如
http://192.168.1.100:11434)或http://host.docker.internal:11434。 - 本地源码部署:
http://localhost:11434。
- Docker部署:使用宿主机IP(如
- 模型类型:根据功能选择"对话"或"文本嵌入"等。
- 模型名称 :与Ollama中定义的微调模型名称一致(需通过
- 保存后,Dify会自动验证API连通性。
- 进入Dify的"设置 > 模型供应商 > Ollama",填写以下信息:
- 启动Ollama服务 :确保微调后的模型通过
解决常见部署问题
- 容器间通信问题 :
- 若Dify通过Docker部署,需确保Ollama服务暴露到宿主机网络。修改Ollama的
systemd配置文件,设置OLLAMA_HOST=0.0.0.0以允许外部访问。 - 在Dify的
.env文件中添加OLLAMA_API_BASE=http://host.docker.internal:11434,解决容器内部网络隔离问题。
- 若Dify通过Docker部署,需确保Ollama服务暴露到宿主机网络。修改Ollama的
- 模型兼容性验证 :
- 使用
curl http://<Ollama地址>/api/chat测试API是否返回正常响应。 - 在Dify的"应用编排"中选择微调后的模型,通过对话测试功能是否正常。
- 使用
高级配置与优化
- 模型性能调优 :
- 通过环境变量调整Ollama的并发处理能力(如
OLLAMA_NUM_PARALLEL)和显存管理(如CUDA_VISIBLE_DEVICES指定GPU)。
- 通过环境变量调整Ollama的并发处理能力(如
- 持久化与远程访问 :
- 使用内网穿透工具(如Cpolar)将本地Dify服务暴露到公网,实现团队协作或远程调用。
- 固定公网域名避免IP变动影响服务稳定性。
总结
通过Ollama本地微调模型并部署到Dify的流程为:模型适配Ollama格式 → 启动Ollama服务 → Dify配置模型供应商 → 验证功能。需特别注意Docker环境下的网络配置和API连通性测试。若需进一步扩展功能(如多模态支持),还需在Dify中勾选"Vision"等选项。