微信扫码
与创始人交个朋友
我要投稿
在之前的文章中,我们成功点亮了 Dify 平台,并基于此平台构建了一个联动在线 AI 大模型的聊天应用。Dify 如同一个 DIY 工作室,借助它,我们可以根据自己的实际需求,将各种“大脑”与各种“手脚”自由组合,打造专属助手。
本文将深入探讨如何实现 Dify 应用与本地 AI 大模型的联动,例如 Ollama 平台上已部署的 llama3.1 大模型。
我们先快速复习一下前面已经梳理的 Dify 相关内容。
我们再次打开 Docker Desktop,启动与 Dify 相关的容器。Docker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具,简单易用。
我们打开网页浏览器,输入127.0.0.1
,完成注册和登录流程后,即可进入 Dify 的后台管理页面。如有需要,你可以选择自己熟悉的语言。我个人经常在中文和英文之间进行切换,以锻炼自己的适应力。
我们先快速浏览一下上面的四个选项卡。
返回“工作室”,我们打开之前创建的“聊天测试”应用。在选取已添加的在线 AI 大模型之后,我们就可以开始进行聊天对话了。
以上是我们复习的内容。
实际上,添加在线 AI 大模型的方法基本上是相似的。对于特定的应用,我们只需适当添加一个或几个 AI 大模型就足够了,不必求多。
在这里提到的“应用”,我们也可以用“代理”、“助理”、“机器人”、“智能体”或“Agent”等术语来描述。如果 Dify 和 Coze 都体验过的话,你会发觉它们底层的逻辑是非常相似的。
【实用】AI智能体:在Coze上打造专属助理
我想,无论是 Coze 还是 Dify ,只有通过多使用、多摸索和多尝试,我们才能熟练掌握并充分发挥其效能。
由于生产数据涉敏等原因,如果 Dify 部署在内部网络中,日常生产时可能无法连接到互联网以使用在线 AI 大模型。在这种情况下,我们可以选择添加一些离线(本地) AI 大模型。
这是一个关键环节,我们需要捋清实验环境拓扑结构。
首先,我在自己的个人电脑上安装了 Ollama 平台,并部署了离线的 AI 大模型 llama3.1。
接着,我又在这台电脑上通过 Docker 容器的方式部署了 Dify 平台。
目前,Ollama 平台和 Dify 平台位于同一台物理机上,但不在同一个逻辑机上。为了让它们能够相互通信,我们需要运用到网络技术知识。接下来,我将一步一步地进行演示。
首次添加模型时,我们可以在如下界面直接进行操作。
再增加模型的话,目前点击这一区域是无法进行操作的。(我在这里摸索了许久,有点晕头转向,希望 Dify 官方在后续版本中能够对此进行优化。)
我们可以这么做,点击个人账号,然后在下拉选项中选择“设置”。
在弹出的对话框中,选择“模型供应商”。目前 Dify 支持多种在线和离线模型。
我们在模型库中找到 Ollama。
这里有三个带星号的必填项,其中两个需要填写相关信息。
在设置选项卡的左下角,提供了一个关于如何集成的指引链接。我们可以点击查看,浏览官网提供的一些帮助信息。
https://docs.dify.ai/tutorials/model-configuration/ollama
除了之前一直使用的 CMD 终端,我们也可以选择使用 Windows PowerShell 终端。
请注意,模型名称需要与执行 ollama list
命令后回显中的 NAME
值完全一致。
模型名称的设置相对简单,直接复制即可。
另一项内容,基础 URL 的设置则较为复杂。如果我们仅仅按照官网的指引进行设置,点击保存后可能会遇到报错,提示 IP 和端口无法访问。
这就是为什么我前面强调要理清拓扑的原因。Ollama 所在的 localhost
和 Dify 所在的 localhost
并不相同(尽管它们都部署在同一台物理机上)。
第一步,我们需要解决 Ollama 允许从其他主机访问的问题(默认情况下是不允许的,只能在本机使用)。在 Windows 系统的环境变量设置中,我们添加一个名为 OLLAMA_HOST
的环境变量,其值为 0.0.0.0:11434
,然后一路点击确定。(如果你不熟悉环境变量或不知道如何设置,可以在 B 站上搜索相关教程进行学习。这里受限于篇幅,我简单带过。)
第二步,我们需要确定 Ollama 所在主机的 IP 地址。由于 Ollama 安装在我的物理机系统上,因此它所在的 IP 地址就是我的内网网口 IP 地址。我当前的 IP 地址是 192.168.2.18
。(此处,你需要更换成自己的实际 IP 地址。)
再次尝试添加模型,你可能会发现仍然会报错。在这种情况下,我们需要重新启动 Ollama,或者直接重启电脑。
重启后,我又遇到了内存超限的报错。(我这台个人写作电脑内存只有 8G。)
An error occurred during credentials validation: API request failed with status code 500: {"error":"model requires more system memory (5.9 GiB) than is available (3.8 GiB)"}
关闭一些软件以释放内存,反复折腾后,我终于成功添加了 Ollama 模型。在这个过程中,我还使用了一个检查 ollama serve
命令来查看状态。
我们再次回到“测试助手”应用页面,刷新一下,现在就可以选择 Ollama 的模型了。
我们测试一下。
很明显,我们成功了。
现在,Ollama 平台上的 llama3.1 模型已经成功与 Dify 联动。其他模型(例如 gemma2、qwen2 等)的添加过程也是类似的。
在本次实验环境中,与在线 AI 大模型相比,本地(离线)AI 大模型的添加过程确实要复杂一些。在这种情况下,耐心和细心显得尤为重要,我们需要尽量避免焦躁情绪的产生。【思考】关于学习焦虑
如果一时无法解决问题,不妨先休息一下,寻找灵感,然后再次研读官方手册,或者与同样从事这块工作的朋友们交流。我们在解决问题后,可以记录并分享经验。这样,随着时间的推移,市面上相关的资料也会逐渐增多。目前网上关于这方面的资料还相对较少,新事物也容易存在新机会,请勇敢拥抱新事物。【发布】自学自驱学习体系
【思考】拥抱AI时代:我们如何赋能未来?
在本次实验环境中,捋清实验环境中各实验元素(本机、容器)的网络拓扑关系可能是一个难点。幸运的是,我是网络工程师,因而排查起来还是有一定经验。
另外,我用于写作的个人电脑硬件性能有限(只有CPU、没有GPU,内存也比较低),这个实验几乎耗尽了所有硬件资源,但幸好还能勉强运行,让我能够完成文章的梳理。如果你打算尝试这个实验,需要适当考虑电脑的硬件资源情况。
最后,添加离线 AI 大模型的相关内容,更多是作为整个知识体系的一个必要拼图进行介绍。如果日常个人使用且不涉及敏感信息,我更推荐直接采用在线大模型。这样可能会避免不少麻烦。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-22
Dify 保姆级教程之:零代码打造个性化记忆助手
2024-11-22
Dify 保姆级教程之:零代码打造图像生成专家(上)
2024-11-22
Dify 保姆级教程之:零代码打造 AI 搜索引擎
2024-11-15
dify案例分享-基于jina和http实现36氪新闻热榜文章
2024-11-10
安装 Dify 并集成 Ollama 和 Xinference
2024-11-05
【附案例源码】把阿里云验证码短信接入到dify中
2024-11-05
Dify 中的 Bearer Token 与 API-Key 鉴权方式
2024-11-01
Gitee AI 入驻 Dify,成倍加速 AI 应用开发落地
2024-04-25
2024-04-24
2024-07-20
2024-05-08
2024-05-07
2024-07-16
2024-05-09
2024-06-21
2024-04-25
2024-07-08