第一部分:先介绍Dify,第二部分:从0开始搭建实践演示步骤。
1、什么是Dify。
Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。
2. dify核心功能:
2.1. 强劲的AI工作流构建与测试
- 用户可以直观地设计和构建 AI 工作流,根据不同的业务需求和场景进行定制化操作。
- 能够对构建的工作流进行全面测试,确保其在实际应用中的稳定性和准确性。
2.2. 全面的模型支持
- 无缝集成了数百种来自数十个推理提供商和自托管解决方案的专有 / 开源大型语言模型(LLM)。
- 涵盖了多种不同类型的模型,为用户提供了丰富的选择,以满足不同的任务需求。
2.3. 便捷的提示 IDE
- 提供了一个集成开发环境(IDE),方便用户编写和优化提示(prompt)。
- 协助用户更好地与语言模型进行交互,提高提示的质量和效果。
2.4. 强劲的 RAG(检索增强生成)管道
- 具备高效的检索增强生成功能,能够从大量的文本数据中检索相关信息,并结合语言模型生成更加准确和丰富的内容。
- 提升了语言模型的输出质量和实用性。
2.5. 灵活的代理能力
- 允许用户设置代理,以满足不同的网络环境和访问需求。
- 增强了系统的灵活性和可扩展性。
2.6. 有效的LLMOps
- 提供了一系列针对语言模型的操作和管理工具,包括模型部署、监控、优化等。
- 协助用户更好地管理和维护语言模型的运行,提高工作效率。
2.7. 后端即服务
- 可以作为后端服务提供给其他应用程序使用,方便集成和扩展。
- 为开发者提供了便捷的接口和工具,降低了开发成本和难度。
3. 为什么使用 Dify?
你或许可以把 LangChain 这类的开发库(Library)想象为有着锤子、钉子的工具箱。与之相比,Dify 提供了更接近生产需要的完整方案,Dify 好比是一套脚手架,并且经过了精良的工程设计和软件测试。
重大的是,Dify 是开源的,它由一个专业的全职团队和社区共同打造。你可以基于任何模型自部署类似 Assistants API 和 GPTs 的能力,在灵活和安全的基础上,同时保持对数据的完全控制。
4.Dify 能做什么?
Dify 一词源自 Define + Modify,意指定义并且持续的改善你的 AI 应用,它是为你而做的(Do it for you)。
- 创业,快速的将你的 AI 应用创意变成现实,无论成功和失败都需要加速。在真实世界,已经有几十个团队通过 Dify 构建 MVP(最小可用产品)获得投资,或通过 POC(概念验证)赢得了客户的订单。
- 将 LLM 集成至已有业务,通过引入 LLM 增强现有应用的能力,接入 Dify 的 RESTful API 从而实现 Prompt 与业务代码的解耦,在 Dify 的管理界面是跟踪数据、成本和用量,持续改善应用效果。
- 作为企业级 LLM 基础设施,一些银行和大型互联网公司正在将 Dify 部署为企业内的 LLM 网关,加速 GenAI 技术在企业内的推广,并实现中心化的监管。
- 探索 LLM 的能力边界,即使你是一个技术爱好者,通过 Dify 也可以轻松的实践 Prompt 工程和 Agent 技术,在 GPTs 推出以前就已经有超过 60,000 开发者在 Dify 上创建了自己的第一个应用。
5.Docker Compose 部署
前提条件
安装 Dify 之前, 请确保你的机器已满足最低安装要求:
CPU >= 2 Core
RAM >= 4 GiB
6.克隆 Dify 代码仓库

克隆 Dify 源代码至本地环境。
git clone https://github.com/langgenius/dify.git
7.启动 Dify
- 进入 Dify 源代码的 Docker 目录
- cd dify/docker

- 复制环境配置文件
- cp .env.example .env

5.启动 Docker 容器()
第4步完成后,根据你系统上的 Docker Compose 版本,选择合适的命令来启动容器。你可以通过 $ docker compose version 命令检查版本,详细说明请参考 Docker 官方文档:
- 如果版本是 Docker Compose V2,使用以下命令:
docker compose up -d
- 如果版本是 Docker Compose V1,使用以下命令:
docker-compose up -d
但这一步需要(梯子),另外拉取镜像中有各种中间件:pgsql、redis、weaviate、api等。
成果后如下图:

注意:这里可能会出现nginx的80端口被占用,你就去关闭掉相关服务:
停止或禁用相关服务:如果80端口被系统服务占用,可以通过“服务”窗口停止或禁用该服务来释放端口,对于
IIS服务,可以在“服务”窗口中找到“World Wide Web Publishing Service”并停止或禁用它。

8、启动浏览器打开dify进行使用。
默认第一次会让设置管理员用户名和密码,默认地址http://你的IP地址:
8.1设置管理员邮箱和密码:

8.2登录系统:
设置完后会跳转到登录界面:

登录界面

dify管理系统主界面
8.3进入管理页面配置ai模型服务商接口和key,这里几乎支持市面上所有的服务商:

设置模型提供商
接下来我们已配置零一万物的为例:

8.4去创建聊天应用:这里可以选择简单的聊天即可。后续复杂的flow等可以自己慢慢研究。

8.5发布聊天应用:发布后你就可以通过网页访问聊天工具,进行对话。
聊天应用地址:http://你的IP/chat/…..(自动生成的id)

8.6接下来我们创建一个知识库应用:
准备:8.6.1、准备一份知识数据,我们就已孔子的个人信息为模板。请按照步骤创建相关应用:

8.6.2、添加完成数据后等待索引,索引也就是将文档给分成多个分片并保存在weaviate数据库中。如果索引成功你可以看到知识库中的信息显示状态为:可用。

8.6.3、我们回到应用去添加使用这个知识库。

8.6.4、我们再来测试一下知识库的引用,看是否正确。孔子文档中周游列国时间是13你按,看看回答是否准确(示例中回复有存在英文,你可以添加各种提示词来保证输出的都为中文)。

今天的分享就到这里了!接下来还有许多深思熟虑的知识和资源等待大家去探索,这些都能协助你在真实的商业场景中创造出更多应用。
如果你想获取最新的科技前沿资讯和技术动态,别忘了关注我哦!
同时,欢迎随时留言,分享你们的疑问和想了解的内容。我会竭尽所能为大家提供解答和支持!期待与你们的互动!
















暂无评论内容