开启智能体和知识库探索之旅:Dify知识库搭建RAG

    当下让大模型掌握企业的知识和流程,成为企业AI应用的首选,今天我们介绍一下用Dify搭建一个简单RAG知识库,基于Prompts+ Embedding+Rerank混合方案,实现更高准确率。

 前排提示,文末有大模型AGI-CSDN独家资料包哦!

一、搭建知识库

1、创建知识库

(1)登录Dify控制台 → 知识库 → 创建知识库,如下图所示

(2)创建一个空知识库

(3)输入知识库名称后,单击创建按钮

2、选择数据源

(1)添加文件

(2)选择文件

(3)选择QA文件打开,并点下一步

利用知识库对QA数据进行知识构建,通过用户输入的文本对QA进行检索,返回最相似的TopK个文本

3、文本分段与清洗

      内容上传到知识库之后,需要进行分块和数据清洗,这个阶段可以理解为内容的预处理和结构化。

(1)分段设置,这里先选择通用

(2)索引方式默认是经济,索引设置倒排索引,TopK默认2,单击保存并处理

经济模式采用离线向量引擎和关键字索引,虽然准确率有所降低,但省去了额外的 token 消耗和相关成本。

在经济索引模式下,Dify 提供单一检索设置:倒排索引和TopK

倒排索引:一种为快速检索文档中的关键字而设计的索引结构。

TopK和分数阈值:设置检索结果的数量和相似度阈值。

(3)索引模式这里我们先选择经济,不选择高质量,后期我们在单独写一篇文章介绍,这种模式需要提前部署配置嵌入模型和Rerank模型。

4、处理并完成,如下图所示:

二、Dify设计AI工作流

1、创建工作流

(1)登录Dify控制台 → 工作室 → 创建空白应用,如下图所示

(2)选择工作流,填写应用名称比如企业RAG知识库,单击创建按钮

(3)创建完成,如下图所示:

2、工作流编排

(1)开始节点编排

  • 登录Dify控制台 → 工作室 → 工作流(单击上面创建的知识库工作流),如下图所示

  • 添加描述和单击输入字段后面的加号+

  • 选择文本,输入变量名称和显示名称,长度默认,必填,单击保存

(2)添加“知识检索”节点

  • 单击下图所示添加下一个节点的加号+

  • 选择“知识检索”

  • 设置查询变量值,单击设置变量值框,选择开始节点输入值query

  • 添加知识库,单击知识库后面的加号+,选中上面创建的”企业知识库“,然后单击”添加“按钮

(3)添加“LLM”大语言模型节点

  • 单击添加下一个节点的加号+,选中“LLM"

  • 系统会自动分类一个已部署的大模型,手动设置已部署大模型方法如下图所示:我这里选中的是本地部署的模型

  • 设置上下文变量值,单击设置变量值框,然后选中知识检索结果result

(4)添加流程”结束“节点并输出结果

  • 单击添加下一个节点的加号+,选中“结束"

  • 设置输出变量值,选择”LLM“节点输出结果text

三、Dify工作流运行测试、发布

1、单击”运行“按钮

2、输入“数字化”,单击开始运行

3、我的大模型选择的是本地的,运行比较慢,现在相应节点显示”运行“状态

4、知识检索的输出结果,就是企业知识库QA文档的内容

5、“LLM”节点以“知识检索”的输出作为上下文,并调用大语言模型

6、LLM节点,通过大语言模型,对知识检索的进行补充完善,输出如下图所示

7、测试成功后,单击“发布” → “发布更新”

      总结:通过上述方法,即使无开发经验也能轻松在Dify中轻松设计RAG知识库工作流,希望通过本文大家都能开启企业AI应用开发,结合企业实际业务场景开发深度应用。

软件开发24

人工智能31

程序员22

it行业35

数字化36

软件开发 · 目录

上一篇开启智能体和知识库探索之旅:Dify配置连接大模型下一篇大模型应用高阶技术:RAG

阅读 1124

读者福利:倘若大家对大模型感兴趣,那么这套大模型学习资料一定对你有用

针对0基础小白:

如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

请添加图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

### Dify RAG Introduction Dify RAG (Retrieval-Augmented Generation) is an advanced approach that integrates retrieval mechanisms with generative models to enhance the performance of language models when dealing with specific domains or large-scale information systems[^1]. This method leverages a knowledge base, which can be custom-built according to user needs, ensuring more accurate and contextually relevant responses. Incorporating Dify into the RAG framework allows users to define their own data sources as part of the model's input during inference time. The system retrieves pertinent documents from these predefined repositories before generating output, thereby improving factual accuracy while maintaining natural conversational flow. For instance, within enterprise settings where proprietary databases exist, this capability ensures sensitive internal policies are adhered to without exposing confidential details outside intended contexts. Similarly, for public-facing applications like customer support chatbots, integrating external APIs such as weather services enhances utility by providing up-to-date real-world conditions directly through conversation interfaces. ### Usage Example Code Snippet Below demonstrates how one might implement basic functionality using Python: ```python from dify_rag import KnowledgeBase, Retriever, Generator # Initialize components kb = KnowledgeBase("path/to/your/knowledgebase") retriever = Retriever(kb) generator = Generator() def get_response(query): retrieved_docs = retriever.retrieve(query) response = generator.generate(retrieved_docs, query=query) return response ``` This snippet initializes necessary objects including `KnowledgeBase`, `Retriever` and `Generator`. It defines function `get_response()` taking string argument representing user’s question/query against integrated resources via defined pipeline steps outlined above.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值