Dify:
一个开源的 LLM 应用程序开发平台。提供从 Agent 构建到 AI workflow 编排、RAG** 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。
主要特点:
-
- 工作流程: 在可视化画布上构建和测试强大的 AI 工作流,利用以下所有功能及其他功能。
-
- 全面的模型支持: 与来自数十个推理提供商和自托管解决方案的数百个专有/开源 LLM 无缝集成,涵盖 GPT、Mistral、Llama3 和任何与 OpenAI API 兼容的模型。
-
- 提示 IDE: 直观的界面,用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能,例如文本转语音。
-
- RAG 管道: 广泛的 RAG 功能,涵盖从文档摄取到检索的所有内容,并为从 PDF、PPT 和其他常见文档格式中提取文本提供开箱即用的支持。
-
- 代理能力: 您可以根据 LLM Function Calling 或 ReAct 定义代理,并为代理添加预构建或自定义工具。Dify 为 AI 代理提供了 50+ 内置工具,例如 Google 搜索、DALL·E、稳定扩散和 WolframAlpha**。
-
- LLMOps: 监控和分析一段时间内的应用程序日志和性能。您可以根据生产数据和注释不断改进提示、数据集和模型。
-
- 后端即服务: Dify 的所有产品都带有相应的 API,因此您可以毫不费力地将 Dify 集成到您自己的业务逻辑中。
最低设备配置:
- • CPU >= 2 Core
- • RAM >= 4 GiB
安装
由于这个 Dify 涉及比较多容器和参数,这里我就不做化简了,完全按照官网模板进行部署了
各个容器工作的流程图:
来到 Github 仓库,下载项目到本地
解压文件后,进入 docker 目录找到 .env.example 配置文件
编辑器打开,搜索“SSL_PORT”
TIP:
按实际情况修改端口,避免已经被占用
将着 80 和 443 端口改一下
这里也需要对应进行修改
将文件重命名为 .env
在 NAS 的 docker 路径下创建一个 dify 文件夹,将上面的 docker 文件夹复制到这里(只要这个文件夹就行了,其他不用)
点击“新增项目”
填写名称,路径选择 dify 的路径就行(会提示已经有模板文件,选用就行)
勾选“创建项目后立即启动”,点击“确定”
等待构建完成,要等比较久
注意里面每个容器都要正常运行,不然就是有问题(去看对应容器的日志)
使用
浏览器中输入 http://NAS的IP:1880 就能看到界面
这里需要等待初始化完成
启动完成,设置管理员账号
登录管理员账号
成功进入面板
对接模型
点击头像,进入设置
关联教程:
One API 接口管理和分发系统
Ollama 本地大模型框架
选择需要的模型供应商安装就行(有问题刷新网页,多安装几次)
点击可以直接看模型数量(连接 Ollama 好像有点问题,填写信息正确就行了)
创建知识库
添加完模型以后,创建知识库
TIP:
如果“下一步”按钮一直灰色,等一下就好了
按需求选择,这里我导入一个 txt 文本,点击下一步
修改以后,可以点击预览
这里可以选择模型,没有问题就点击“保存并处理”
这样知识库就创建完成了,点击前往
这里还可以不断添加文件
召回测试,这里可以测试文本的命中率
根据需要可以进行调节(这里我就不班门弄斧了)
创建应用
点击创建一个空白应用
可以选择应用模式很多,说实话我也不太会
填写应用名称,点击创建
这里添加之前创建的知识库(不然就和普通调用 API 问答没区别了)
输入问题进行测试
回复效果还是不错的
没有问题就可以点击发布了
更多功能
Dify 的功能非常强大,应该也是目前最多人用的。很多高级功能我是没有用的,这里就简单截图有需要的建议自行部署。
应用模板
模型
工具
Agent 策略
扩展
总结
一开始部署我是觉得挺头大的,感觉这个联动很多应用,这也是我为什么一直没做教程的原因之一。不过成功运行项目,我才发现也没有想象中困难,整个部署过程非常简单。
Dify 之所以这么多人用,用过以后确实觉得实至名归。界面美观大气,操作逻辑清晰,可扩展能力强,生态插件丰富,其他类似的项目和什么和它比。这里推荐一下,如果你也想弄一个知识库,可以考虑部署 Dify 试试,或许你一直找的就是这款应用。
综合推荐:⭐⭐⭐⭐⭐(玩 AI 都应该部署)
使用体验:⭐⭐⭐⭐(界面 UI 和交互逻辑都很不错)
部署难易:⭐⭐⭐(可以说很难,也可以说很简单)︎
初次启动,资源占用情况
运行一段时间后,资源占用情况
︎