大模型笔记03--快速体验dify
介绍
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
dify平台用户体验好,配置简单,且内置了大量应用模板和工具,通过dify我们可以快速对接各种大模型,创建自己的知识库,按需选择工具构建形式多样的应用。除此之外,还能快速对接到第三方应用,将ai的能力赋能给其它场景和行业。
本文基于docker compose快速部署dify平台,对接ollama和阿里云千问大模型,并将生成的智能聊天机器人嵌入到业务网站中。
部署&测试
部署 dify
dify 官方提供了多种部署方式,我们直接用 docker compose的方式快速拉起服务
bash
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env # 如果机器上有端口冲突,按需更改这个.env中的端口即可
docker compose up -d
部署成功后我们可以看到三个服务(api / worker / web) 和六个组件(weaviate / db / redis / nginx / ssrf_proxy / sandbox) 都正常运行,如下图:
初始界面,需要按需配置账号信息:
本地通过 http://localhost/install 配置,服务器直接通过 http://your_server_ip/install 配置即可.
登录界面 | 主界面 |
---|---|
对比fastgpt,dify 已经内置了很多常见应用模板和通用工具:
通用模板 | 常用工具 |
---|---|
测试dify
对接本地ollama大模型
需要在本地或者服务器上安装ollama,部署方式可以参考 大模型笔记01--基于ollama和open-webui快速部署chatgpt,并拉起相关模型,笔者已经提前下载好 qwen2:7b 和 nomic-embed-text:v1.5 两个模型。
对接ollama | 添加qwen2:7b模型 |
---|---|
添加成功后可以发现 Ollama下有2个可用模型,如下图
模型准备就绪后可以参考官方步骤按需创建应用了
创建应用:
通过 工作室->创建空白应用 来创建一个聊天助手
对聊天助手限制提示词、配置可用的模型,也可以按需加上下午、知识库等功能,配置完成后点发布即可
发布成功后就可以开始聊天之旅了:
对接阿里云千问大模型
dify可以通过多种方式对接本地大模型,也可以直接对接云厂商的大模型,例如 openai,阿里云,aws,azure 等厂商的大模型。
此处以阿里云的通义千问为例,我们需要在 阿里云百炼 -> apiKey -> 创建key, 然后在dify中设置该key即可
百炼创建key
dify 上配置通义千问的key
配置好后,我们基于模板创建一个旅游规划助手
创建后我们将默认的gpt-4更换为qwen-max模型,然后发布即可
注意: 这个agent应用了3个工具,大模型会理解我们的内容,然后调用api获取目标数据
进入应用初始界面, 输入基础信息,然后可以按需通过聊天获取目标旅游规划了
如下图, 当用户提出 "您好,我想去北京玩一周,帮我制定一份详细的攻略,需要推荐入住的酒店和知名景点,并给出交通路线"的需求后,机器人先搜索维基百科、然后搜索google,拿到目标数据后总结出5天的行程安排和攻略。
答案中包括酒店、景点和出行方式,比较符合预期。
在个人网站中嵌入dify智能客服
在 tooplate 模板网站下载一个 Gotto Job 的案例网站。
在聊天助手中选择发布->嵌入网站->选择嵌入网站的方式,选择后将脚本代码添加到html网页中,然后刷新网页即可在网页中使用dify提供的智能聊天助手了。
将脚本添加到代码中
打开网站主页,把上述代码粘贴到html中,重新刷新网页就多出了一个聊天的按钮,点击后即可正常聊天了,如下图我们已经把智能聊天助手对接到个人网站了。
至此,我们已经能把智能聊天机器人挂到自己的网站了。
注意事项
- dify工包含了很多工具,通过这种方式我们可以在自己的ai机器人具备很多种能力,实际使用的时候按需填写各个产品的key即可。
- dify可以对接很多种本地大模型,但良好的体验需要强大的机器资源来支持,因此如果没有足够的机器资源,推荐使用ai大模型厂商的服务即可(毕竟当前token已经相对比较便宜了).
- dify能快速将智能应用嵌入到网站中,从而快速实现网站智能客户。对于网站客服类机器人,我们可以对接各类表格,将用户的需求数据拆机出来存到各种表格中,方便内部人员基于收集的数据回访或者开展相关业务。
说明
- 系统
ubuntu 24.04 Desktop
dify 0.8.2
ollama 0.3.9 - 参考文档
dify 官方文档
如何在几分钟内创建一个带有业务数据的官网 AI 智能客服
从零开始之Dify部署篇
主流ai知识库工具FastGPT、Dify、Coze横评