最近计划转型AI程序员,这是一个新名词,其实最近一年已经在使用ai,来解决一些项目中的业务逻辑问题,对AI的发展一直在关注,正好有机会接触这块,所以会用到Dify平台。
本文将详细介绍,如何基于Dify在本地部署一个自己的LLM应用开发平台。只需要半天,心怀感激的站在巨人肩膀打造自己的AI平台。
虽然Dify官方有详细教程如何本地部署,但是在使用过程中,我还是有遇到一些问题,本文会详细介绍问题解决方法,以及总结一些自己对AI开发的一些思考,希望能帮助到想了解AI应用,对AI感兴趣的人。
1. Dify平台介绍
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和LLMOPs的理念,使开发者可以快速搭建生产级的生成式 AI 应用。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。相比偏技术和研究的LangChain框架,Dify提供了更接近生产需要的完整方案,并且经过了精良的工程设计和软件测试。
这为开发者节省了许多重复造轮子的时间,让我们可以专注在擅长的,业务创新和需求实现上。
2.Dify使用场景
Dify最大的优势是,它开源并且具备成熟和完善的功能,可以进行本地部署。
官网给出使用Dify平台的优势和使用场景如下:
● 将 LLM 集成至已有业务,通过引入 LLM 增强现有应用的能力,接入 Dify 的 RESTful API 从而实现 Prompt 与业务代码的解耦,在 Dify 的管理界面是跟踪数据、成本和用量,持续改进应用效果。
● 探索 LLM 的能力边界,即使你是一个技术小白,通过 Dify 也可以轻松的实践 Prompt 工程和 Agent 技术,在 GPTs 推出以前就已经有超过 60,000 开发者在 Dify 上创建了自己的第一个应用。
● 作为企业级 LLM 基础设施,一些银行和大型互联网公司正在将 Dify 部署为企业内的 LLM 网关,加速 GenAI 技术在企业内的推广,并实现中心化的监管。
● 创业,快速的将你的 AI 应用创意变成现实,无论成功和失败都需要加速。在真实世界,已经有几十个团队通过 Dify 构建 MVP(最小可用产品)获得投资,或通过 POC(概念验证)赢得了客户的订单。
如果你只是想体验创建智能体,或者想有好的创意想快速变为现实,其实使用平台功能更好,它们提供了更完善的功能和服务。
如果你工作中有私有化部署的需求,或者想从技术角度了解创建智能体平台的技术栈,那我们就开始进行下一步Dify的搭建了
3.Dify本地化部署
3.1 环境准备
为了快速部署,当然要使用Docker环境了,linux系统docker环境还是比较容易安装的,如果有小伙伴使用的Windows系统,那么推荐你看我另一篇博文Win11家庭版 配置 WSL/Ubuntu+Docker详细步骤
3.2 下载代码
在linux环境执行
git clone https://github.com/langgenius/dify.git
3.3 docker-compose部署Dify
cd dify/docker
cp .env.example .env
docker-compose up -d
.env文件默认端口是80,为了避免冲突可以修改端口
EXPOSE_NGINX_PORT=18088
拉取镜像时间较久,请耐心等待
成功后检查容器状态
docker-compose ps
可以看到容器都运行了
3.4 访问dify
浏览器输入 http://localhost:18088
终于看到登录界面了,这里我们要设置管理的账户信息
设置好管理员账户,会跳到登录界面,注意是邮箱账号,我们输入前面设置的邮箱直接登录
4. Dify使用
刚部署的Dify是没有模型的,我们右上角打开设置界面,可以看到很多模型供应商
4.1 使用Ollama部署本地模型
接下来我们演示Dify使用本地部署的大模型,在我的Ubuntu系统打开一个新的终端连接,执行
mkdir ollama
cd ollama/
curl -fsSL https://ollama.com/install.sh | sh
安装成功如下
我们按提示,访问http://localhost:11434/,证明Ollama已经成功运行
我们运行 Ollama 尝试与 Llava 聊天
ollama run llava
我输入了一句 How are you? 可以看到 Llava回复了我
4.2 Dify中接入Ollama大语言模型
接入之前,我们需要修改下Ollama的配置,终端执行,后面dify配置会用到
sudo vim /etc/systemd/system/ollama.service
在文件中[Service]部分下增加一行Environment:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
重载systemd
systemctl daemon-reload
重启Ollama服务:
systemctl restart ollama
接下来回到Dify的设置界面,我们选择Ollama模型供应商,打开如下界面
参数说明:
模型名称:llava
基础 URL:http://<本机IP地址>:11434
此处需填写可访问到的 Ollama 服务地址,我们前面修改Environment就是为此。
若 Dify 为 docker 部署,建议填写局域网 IP 地址,如:http://192.168.1.100:11434 或 docker 宿主机 IP 地址,如:http://127.0.0.1:11434。若为本地源码部署,可填写 http://localhost:11434。
模型类型:对话
模型上下文长度:4096
模型的最大上下文长度,若不清楚可填写默认值 4096。
最大 token 上限:4096
模型返回内容的最大 token 数量,可与模型上下文长度保持一致。
是否支持 Vision:是
当模型支持图片理解(多模态)勾选此项,如使用 llava就需要勾选
设置好参数后,我们保存,没有错误即可开始使用模型了,看下图已经配置好了
4.3 创建AI应用
回到dify主页面当中,我们点击点击创建空白应用
右上角选择llava模型
选好模型,我们发布并更新应用
接下来,就可以愉快的和自己创建的聊天助手聊天啦
这次Dify部署加实战演示就介绍到这里了,感谢能看到这里的朋友😉
本次的分享就到这里,终极量化数据致力于为大家分享技术干货😎
如果以上过程中出现了任何的纰漏错误,烦请大佬们指正😅
受益的朋友或对技术感兴趣的伙伴记得点赞关注支持一波🙏
也可以搜索关注我的微信公众号【终极量化数据】,留言交流🙏