Dify本地企业级RAG知识库搭建(完整示例)

第一部分:先介绍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本地企业级RAG知识库搭建(完整示例)

克隆 Dify 源代码至本地环境。

git clone https://github.com/langgenius/dify.git

7.启动 Dify

  1. 进入 Dify 源代码的 Docker 目录
  2. cd dify/docker

Dify本地企业级RAG知识库搭建(完整示例)

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

Dify本地企业级RAG知识库搭建(完整示例)

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等。

成果后如下图:

Dify本地企业级RAG知识库搭建(完整示例)

注意:这里可能会出现nginx的80端口被占用,你就去关闭掉相关服务:

停止或禁用相关服务:如果80端口被系统服务占用,可以通过“服务”窗口停止或禁用该服务来释放端口,对于

IIS服务,可以在“服务”窗口中找到“World Wide Web Publishing Service”并停止或禁用它。

Dify本地企业级RAG知识库搭建(完整示例)

8、启动浏览器打开dify进行使用。

默认第一次会让设置管理员用户名和密码,默认地址http://你的IP地址:

8.1设置管理员邮箱和密码:

Dify本地企业级RAG知识库搭建(完整示例)

8.2登录系统:

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

Dify本地企业级RAG知识库搭建(完整示例)

登录界面

Dify本地企业级RAG知识库搭建(完整示例)

dify管理系统主界面

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

Dify本地企业级RAG知识库搭建(完整示例)

设置模型提供商

接下来我们已配置零一万物的为例:

Dify本地企业级RAG知识库搭建(完整示例)

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

Dify本地企业级RAG知识库搭建(完整示例)

8.5发布聊天应用:发布后你就可以通过网页访问聊天工具,进行对话。

聊天应用地址:http://你的IP/chat/…..(自动生成的id)

Dify本地企业级RAG知识库搭建(完整示例)

8.6接下来我们创建一个知识库应用:

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

Dify本地企业级RAG知识库搭建(完整示例)

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

Dify本地企业级RAG知识库搭建(完整示例)

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

Dify本地企业级RAG知识库搭建(完整示例)

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

Dify本地企业级RAG知识库搭建(完整示例)

今天的分享就到这里了!接下来还有许多深思熟虑的知识和资源等待大家去探索,这些都能协助你在真实的商业场景中创造出更多应用。

如果你想获取最新的科技前沿资讯和技术动态,别忘了关注我哦!

同时,欢迎随时留言,分享你们的疑问和想了解的内容。我会竭尽所能为大家提供解答和支持!期待与你们的互动!

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共21条

请登录后发表评论