AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


dify案例分享-知识库增强检索

发布日期:2025-03-04 07:48:08 浏览次数: 1773 来源:wwzhouhui
推荐语

RAG技术如何提升大语言模型的准确性和时效性。

核心内容:
1. RAG技术框架及其在知识库检索中的应用
2. 技术原理分析:检索、增强、生成三个步骤
3. RAG技术的核心优势及多样化应用场景

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

1.前言

RAG(检索增强生成,Retrieval-Augmented Generation)增强检索知识库是一种结合信息检索与生成式人工智能的技术框架,旨在通过动态调用外部知识库提升大语言模型(LLM)回答的准确性、相关性和时效性。其核心在于将传统检索系统与生成模型结合,解决大模型自身训练数据局限性、知识过时及“幻觉”(虚构信息)等问题。以下是具体解析。

技术原理与流程

  1. 检索(Retrieval)根据用户问题,从预构建的知识库(如向量数据库)中检索相关文档或信息片段。知识库通常通过离线处理将文本转换为向量表示并建立索引,支持快速相似度匹配。例如,汽车客服系统可能存储车型参数手册作为知识库,检索时匹配用户问题中的关键词或语义。

  2. 增强(Augmentation)将检索到的信息整合为上下文,与原始问题一同输入生成模型。这一步骤通过补充外部知识,扩展模型的“记忆”范围,使其能基于最新或专有数据生成回答。例如,医疗诊断场景中,RAG可调用最新医学论文数据辅助生成诊断建议。

  3. 生成(Generation)大语言模型结合上下文与问题生成最终回答。通过引入检索到的信息,模型输出的准确性显著提升,同时减少虚构内容。例如,企业客服系统利用内部文档生成合规性解答,避免泄露敏感数据。

核心优势

  • 知识时效性:动态调用外部知识库,弥补大模型训练数据的时间局限性,支持实时数据(如新闻、政策更新)。

  • 领域适应性:通过定制化知识库(如法律条文、医疗指南),使通用模型快速适配垂直领域需求。

  • 减少幻觉:基于检索事实生成回答,降低虚构概率,增强可信度。

  • 成本效益:无需重新训练大模型即可扩展知识,节省算力与时间成本

应用场景

  • 智能客服:结合企业知识库生成精准回答,如产品故障排除或政策咨询。

  • 医疗诊断:整合医学文献与患者数据,辅助医生生成诊断建议。

  • 金融分析:调用实时市场数据生成投资报告,提升信息时效性。

  • 教育问答:基于教材与学术资源生成知识点解析

之前一直没给大家讲dify知识库检索。 因为dify在知识库检索这块做的一直不太好。对比同类型的RAG增强检索 相对比较弱。考虑到这块知识缺失,今天就打算把这块知识给补充上。话不多说下面给大家介绍一下AI agent 以及dify工作流中使用知识库。

先看 AI agent 知识库检索。

image-20250303223749511

通过知识库检索到视频地址,我们打开视频地址,发现视频的地址是对的。

image-20250303223833549

接下来我们看一下dify知识库工作流

image-20250303223930104

工作流检索内容《清华大学第一弹:DeepSeek从入门到精通.pdf》

image-20250303224317521

通过上述2个案例我们是可以实现dify知识库增强检索的。下面给大家分别介绍一下。

2.模型配置

这里我们提一下模型配置,之前有发现小伙伴对大语言模型和向量模型、重排模型搞不清楚。这个我们给大家演示一下向量模型、重排模型的配置。

什么是向量模型

向量模型是一种用于表示和处理数据的数学模型,其核心思想是将数据映射到高维空间中,从而便于进行建模、分析和计算。这种模型在多个领域中都有广泛应用,包括自然语言处理(NLP)、计算机视觉(CV)、推荐系统、信息检索等。

简单来说就是我们需要将知识库文本向量化,以方便后面向量化后相似度检索使用。相似度越高知识库检索的内容越精准。我们输入一段字比如“Deepseek能够做什么?” 这段话我们希望大模型是依据我知识库文本来内容来回答,而不是胡说。这里就需要对输入文本内容“Deepseek能够做什么?”这段话进行向量化,向量化后再知识库做相似度匹配,匹配上的一段上下文信息发给大模型,大模型在总结一下发给客户,这样我们收到的信息内容和我们知识库内容高度相似,就完成知识库检索问答了。

模型厂商设置添加的时候我们需要支持TEXT EMBEDDING模型。我们以标准OpenAI-API-compatible为案例

image-20250303225355900

添加支持TEXT EMBEDDING模型的模型这样我们dify 就具有向量模型了。目前也有很多厂商支持向量模型硅基流动、 阿里、智谱、火山引擎、gitee ai 

还有国外的openAI 、OpenRouter 也都有向量模型。模型中有TEXT EMBEDDING模型 就是支持这种向量模型。

什么是Rerank 模型

Rerank模型是一种用于重新排序和优化搜索结果的技术,其核心目标是提高检索的准确性和相关性。它通过对初步检索到的候选文档进行重新评分和排序,确保最相关的文档被优先展示。

这里为什么提到Rerank模型呢?因为上面向量模型检索的时候总会有不准的时候,尤其是文档内容高度相似的时候这里就会出现排名最高的不一定是我们要的答案。这个是我们需要通过Rerank模型对相似的结果进行重新排序,以提高模型查询结果的准确性。 当然这2个模型组合还是解决不了知识库准确性的,这个问题我们就不在这里过多讨论。

我们以标准OpenAI-API-compatible为案例,选择Rerank

image-20250303230115564

 同样可以参考上面模型厂商 提供Rerank模型。具体怎么搜索向量模型和Rerank模型模型呢?我们以硅基流动模型市场案例给大家简单介绍一下

进入硅基流动,选择嵌入和重排

image-20250303230334942

显示出嵌入模型(向量模型)、重排模型。大部分是免费的,大家可以根据自己的需要选择模型。免费模型会有限速,大家可以选择收费pro开头的模型。这2个模型对token消耗是非常低的 10块钱可以用很久。

如果大家没有硅基流动的账号,可以点击https://cloud.siliconflow.cn/i/e0f6GCrN地址来注册,目前硅基的政策是新户注册送14块钱,14块钱够玩一阵子了。


以上2个模型向量模型、重排模型 在 dify设定好后,最好在系统模型优先选定。方便后面使用。

image-20250303230839394

以上设置好模型我们接下来就做知识库了。

3 .知识库创建

点击dify 最上方 知识库,点击创建知识库

image-20250303231031329

进入知识库创建页面,我们选择数据源,目前支持三种数据源导入1、导入已有文本、2同步自notion内容、3同步自web站点。因为我们导入的是私有化知识,所以选择导入已有文本。目前文本支持多种数据类型TXT、 MARKDOWN、 MDX、 PDF、 HTML、 XLSX、 XLS、 DOCX、 CSV、 MD、 HTM

image-20250303231309193

选择知识库点击下一步。

image-20250303231349311

后面会出现文本分段与清洗选择画面。分段设置 可以自动分段和清洗 以及自定义;索引方式  高质量、经济、采用 Q&A 分段模式;Embedding 模型 选择我们之前系统设置的向量模型、Rerank 模型 可以打开或者不打开。检索设置 有向量检索、全文检索、混合检索。目前dify 新功能增加了父子检索 也就是混合检索 效果会好点。大家如果不熟悉可以点击默认设置就可以了。点击保存并处理。

image-20250303231745331

image-20250303231804328

当画面出现嵌入完成,表示文档向量化完成。后面就可以使用了。

4 .AI Agent知识库

回到工作室,点击创建空白页面、选择Agent ,给这个Agent 应用一个名字

image-20250303232127086

进入AI Agent画面。

image-20250303232200197 

我们这里用到了知识库,所以我们需要再上下文添加知识库。

image-20250303232248307

image-20250303232311629

添加完成知识库我们就可以针对这个知识库进行聊天和对话了。

5 .知识库工作流

工作流搭建

回到工作室,点击创建空白页面、选择chatflow ,给这个chatflow 应用一个名字

image-20250303232728463

进入工作流创造面板中,我们可以在大语言模型中间节点中添加“知识检索”

image-20250303232938491

打开知识检索,我们点击知识库添加引用的知识库

image-20250303233018921

image-20250303233047678

添加完成知识库,下面个节点我们对接llm大语言模型

上下文 我们选择 知识检索 result

image-20250303233221981

系统提示词这里我们输入如下提示词

请根据文本内容{{#context#}}回答

image-20250303233303116

其他设置都可以默认。最后连接一个直接回复

image-20250303233333690

我们完成知识库工作流(这个工作流相对比较简单)主要带大家了解知识库原理以及用到知识检索工作流组件。其他的组件大家看我之前的文章已经比较熟悉了。这里我们就不详细展开了。

image-20250303233436653

工作流测试

image-20250303233601411

通过以上方式我们完成了2中 知识库在dify中的使用。

相关资料和文档可以看我开源的项目 https://github.com/wwwzhouhui/dify-for-dsl


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询