Dify智能体开发:接入Ollama部署的本地模型
Ollama 是一款跨平台推理框架客户端(MacOS、Windows、Linux),专为无缝部署大型语言模型(LLM)(如 Llama 2、Mistral、Llava 等)而设计。通过一键式设置,Ollama 可以在本地运行 LLM,将所有交互数据保存在自己的机器上,从而提高数据的私密性和安全性。
Ollama 是一款跨平台推理框架客户端(MacOS、Windows、Linux),专为无缝部署大型语言模型(LLM)(如 Llama 2、Mistral、Llava 等)而设计。通过一键式设置,Ollama 可以在本地运行 LLM,将所有交互数据保存在自己的机器上,从而提高数据的私密性和安全性。

快速接入
下载并启动 Ollama
-
下载 Ollama
访问 Ollama 下载页,下载对应系统 Ollama 客户端。
-
运行 Ollama 并与 Llama3.2 聊天
ollama run llama3.2启动成功后,ollama 在本地 11434 端口启动了一个 API 服务,可通过
http://localhost:11434访问。如需运行其它模型,访问 Ollama Models 了解详情。
-
在 Dify 中接入 Ollama
在
设置 > 模型供应商 > Ollama中填入:
-
模型名称:
llama3.2 -
基础 URL:
http://<your-ollama-endpoint-domain>:11434此处需填写 Ollama 服务地址。如果填写公开 URL 后仍提示报错,请参考常见问题,修改环境变量并使得 Ollama 服务可被所有 IP 访问。
若 Dify 为 Docker 部署,建议填写局域网 IP 地址,例如:
http://192.168.1.100:11434或 Docker 容器的内部 IP 地址,例如:http://host.docker.internal:11434。若为本地源码部署,可填写
http://localhost:11434。 -
模型类型:
对话 -
模型上下文长度:
4096模型的最大上下文长度,若不清楚可填写默认值 4096。
-
最大 token 上限:
4096模型返回内容的最大 token 数量,若模型无特别说明,则可与模型上下文长度保持一致。
-
是否支持 Vision:
是当模型支持图片理解(多模态)勾选此项,如
llava。
点击 “保存” 校验无误后即可在应用中使用该模型。
Embedding 模型接入方式与 LLM 类似,只需将模型类型改为 Text Embedding 即可。
-
-
使用 Ollama 模型

进入需要配置的 App 提示词编排页面,选择 Ollama 供应商下的
llava模型,配置模型参数后即可使用。
FAQ
⚠️ 如果你使用 Docker 部署 Dify 和 Ollama,你可能会遇到以下错误:
httpconnectionpool (host=127.0.0.1, port=11434): max retries exceeded with url:/cpi/chat (Caused by NewConnectionError ('<urllib3.connection.HTTPConnection object at 0x7f8562812c20>: fail to establish a new connection:[Errno 111] Connection refused'))
httpconnectionpool (host=localhost, port=11434): max retries exceeded with url:/cpi/chat (Caused by NewConnectionError ('<urllib3.connection.HTTPConnection object at 0x7f8562812c20>: fail to establish a new connection:[Errno 111] Connection refused'))
这个错误是因为 Docker 容器无法访问 Ollama 服务。localhost 通常指的是容器本身,而不是主机或其他容器。要解决此问题,你需要将 Ollama 服务暴露给网络。
在 Mac 上设置环境变量
如果 Ollama 作为 macOS 应用程序运行,则应使用以下命令设置环境变量 launchctl:
-
通过调用
launchctl setenv设置环境变量:launchctl setenv OLLAMA_HOST "0.0.0.0" -
重启 Ollama 应用程序。
-
如果以上步骤无效,可以使用以下方法:
问题是在 docker 内部,你应该连接到
host.docker.internal,才能访问 docker 的主机,所以将localhost替换为host.docker.internal服务就可以生效了:http://host.docker.internal:11434
在 Linux 上设置环境变量
如果 Ollama 作为 systemd 服务运行,应该使用 systemctl 设置环境变量:
-
通过调用
systemctl edit ollama.service编辑 systemd 服务。这将打开一个编辑器。 -
对于每个环境变量,在
[Service]部分下添加一行Environment:Copy
Ask AI
[Service] Environment="OLLAMA_HOST=0.0.0.0" -
保存并退出。
-
重载
systemd并重启 Ollama:systemctl daemon-reload systemctl restart ollama
在 Windows 上设置环境变量
在 Windows 上,Ollama 继承了你的用户和系统环境变量。
-
首先通过任务栏点击 Ollama 退出程序
-
从控制面板编辑系统环境变量
-
为你的用户账户编辑或新建变量,比如
OLLAMA_HOST、OLLAMA_MODELS等。 -
点击 OK / 应用保存
-
在一个新的终端窗口运行
ollama
如何在我的网络上暴露 Ollama?
Ollama 默认绑定 127.0.0.1 端口 11434。通过 OLLAMA_HOST 环境变量更改绑定地址。
如需获取 Ollama 更多信息,请参考
《AI提示工程必知必会》为读者提供了丰富的AI提示工程知识与实战技能。《AI提示工程必知必会》主要内容包括各类提示词的应用,如问答式、指令式、状态类、建议式、安全类和感谢类提示词,以及如何通过实战演练掌握提示词的使用技巧;使用提示词进行文本摘要、改写重述、语法纠错、机器翻译等语言处理任务,以及在数据挖掘、程序开发等领域的应用;AI在绘画创作上的应用,百度文心一言和阿里通义大模型这两大智能平台的特性与功能,以及市场调研中提示词的实战应用。

更多推荐


所有评论(0)