支持私有化部署
AI知识库

53AI知识库

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


一文搞懂基于大模型快速搭建本地RAG知识库应用实践

发布日期:2025-05-21 22:52:15 浏览次数: 1563 作者:MetaThinking
推荐语

掌握AI大模型与RAG技术,快速构建企业知识库新利器。

核心内容:
1. RAG技术原理及其在知识库搭建中的应用价值
2. 基于大模型搭建知识库问答的三种解决思路
3. RAG技术如何让AI学会查资料并准确回答问题

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家
      学习AI大语言模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。大语言模型本身存在一些局限性,而RAG就像那种上学时的“开卷小天才”——会查资料,还会加工,能有效减少产生误导性信息的可能,它是AI大模型应用的创新方法,为AI的回答能力打开了新世界的大门,为企业搭建知识库提供了全新的解决方案(即通过结合信息检索、增强和文本生成能力,有效提升大模型在知识密集型任务的准确性、可靠性、可解释性,以及大幅减少大模型的幻觉)。

一、RAG知识库相关名称解释

1、文档解析(文档→结构化数据),将可解析pdf(非扫描件)、word、txt格式的非结构化文本文档,解析为标准的结构化文档数据。

2、知识构建(结构化数据→构建索引),基于结构化文档数据,按照知识索引构建策略,生成若干类型的知识索引,用于后续知识问答过程中的检索任务。

3、知识检索(用户问题→检索索引→检索结果),对用户问题进行意图识别、改写、优化,按照检索策略进行知识召回,用于后续的大模型生成任务。

4、Prompt是给AI的指令,引导模型生成符合业务场景的响应输出.

5、RAG问答生成(问答提示词→大模型生成),根据RAG(Retrieval-Augmented Generation)检索增强生成范式规则,将用户问题、知识检索结果构建为问答提示词提供给大模型,利用大模型的文本生成能力,输出问答形式的结果回复。

二、基于大语言模型搭建知识库问答的三种解决思路

1、模型微调Fine-Tuning

      基于专有知识建立训练数据集,用大模型在数据集上进行微调,改变神经网络中参数的权重,相当于让模型去学习这些知识。微调方式适合特定的任务,但也存在一些问题,如没有解决事实性问答可靠的问题、计算资源和时间成本较高、需要构建特定领域的微调训练语料、微调的结果存在不确定性等。

2、使用提示工程Prompt Engineering

      使用领域的专业知识作为输入信息提供给模型,类似于短期记忆,容量有限但是清晰,其优势是模型解析回答的正确性和精度高,不足在于所有的大模型均对输入信息的最大长度有限制,一次能够处理的文本数量有限,对于知识库来说,从可行性和效率角度都是不合适的。

3、结合知识检索增强大模型

      在进行模型问答时,使用信息检索构建知识库查询,将检索结果提供给大模型进行理解和生成。该方法使大模型作为用户和搜索系统中介,发挥其自然语言处理能力:对用户请求进行纠错、提取关键点等预处理实现“理解”;对输出结果在保证正确性的基础上进行概括、分析、推理。这样无论是数据规模、查询效率、更新方式都可以满足常见知识库应用场景的需要。

      RAG主要是指上面的第三种解决思路,它的核心就是:让AI大语言模型学会查资料,再用查到的内容回答提问。在DeepSeek出来之前,很多模型不具备联网搜索能力,目前市面上的【联网搜索】实际也是一种RAG,也称为知识库外挂。但是在企业应用中,RAG往往是企业内部不便公开的业务数据、知识库。RAG技术价值,在垂直领域大模型里非常明显。比如企业内部的用户数据、沉淀多年的数据仓库、搜索平台数据,研报、法律文本、合同等。RAG让数据孤岛不再孤单,让没有能力自研大模型,没有能力购买GPU的企业,也可以快速应用处于孤岛的数据价值。

三、知识库发展历程

1、早期的知识库以纸质文档为主,对于检索和更新使用非常低效,且随着时间的推移,文件的数量逐渐庞大,纸质文档常年缺乏维护损坏后也无法产生有效的价值。

2、进入信息时代,文档管理逐步电子化,存储到计算机系统中对文档进行管理,很大程度上便捷了使用,但都是孤立存储的,没有建立文档知识的关系,缺乏相关知识的联动。

3、云计算和大数据推动了一系列人工智能技术的落地和发展,使人们从信息时代迈入了智能时代。

四、RAG技术发展历程

1、朴素RAG(Naive RAG)

      最早期RAG应用实践使用简单的全文检索或者向量检索,得到与输入内容相关的数据。Naive RAG由于存在缺少语义理解能力,对输出效果提升还有较大空间。

2、进阶RAG(Advanced RAG)

      在Naive RAG基础上进行了优化,对检索前、中、后进行了加强。

(1)索引过程中,使用了滑动窗口、细粒度分割和元数据整合等技术,来提高被索引内容的质量。包括知识库数据质量优化、索引优化、Query内容重写、以及Embedding微调,生成对上下文理解更准确的语义向量。

(2)在检索阶段,引入了预检索。

(3)检索后,对检索文档的相关性进行Reranking(如扩展、重写和排序、摘要),以获得更高的检索效率和准确性,让最终提供给大模型的信息更加集中,使生成内容丰富、准确。

3、智能体RAG(Agentic RAG)

      这个是目前最强大的RAG技术,流程上对 RAG 模块之间进行设计和编排,可以动态决策整合多种API或者系统工具能力和调用LLM-based Agent,实时解决复杂问题。这些设计不仅提升了系统的整体效能,还为开发者提供了定制化的解决方案。

五、RAG技术核心原理

      外挂知识库的优势在于它能够利用海量的外部数据进行知识补充,从而提升回答的质量和准确性,特别是在动态性强、知识库更新频繁的场景中尤为重要。它是一种低成本的实现方式,能够通过利用本地专业知识,将高质量的数据信息加工为知识库,再由大模型完成检索召回与总结生成,辅助各行各业实现专业知识精准问答。RAG 是一种结合了检索和生成的混合式深度学习模型,常用于处理复杂的自然语言处理任务。RAG模型通过将外部知识库中的信息与大语言模型结合在一起,可以提供更准确和上下文相关的答案。

具体来说,RAG核心技术主要包括检索、增强和生成三个步骤。

1、问题来了,先搜一搜(检索Retrieval)

      当用户查询内容,RAG通过向量检索技术负责从预先建立的外挂知识库(比如:数据库、网页、文档检索等)中检索与查询内容最相关的文档或信息片段,具体来说,就是将用户的查询通过“嵌入模型”转换成向量,以便与向量数据库中存储的知识相关的向量进行比对。通过相似性搜索,从向量数据库中找出最匹配的前K个数据,通过“Rerank模型”等技术对初步检索结果进行重排序,提高检索结果的相关性和质量。对应【联网搜索】,就是先从互联网上搜索相关资讯、文章、内容。

2、知识到手,加工一下(增强Augment)

      将用户的查询内容和检索到的相关内容一起嵌入到一个预设的提示词模板中。

3、生成答案,妙笔生花(生成Generation)

      将上面预设提示词模板内容输入到大语言模型(比如:DeepSeek等)中,大语言模型会基于检索内容生成有明确依据的响应,可以大幅提升大模型可解释性、并减少大模型凭空编造的风险。

六、RAG搭建高效知识库可分为5个基本流程:知识文本准备、嵌入模型(Embedding Model)、向量数据库、封装检索接口、根据查询生成回答。

1、知识文本准备:文档的预处理和加载并按一定条件切割成片段

      知识库本身的文本质量对最终效果的影响至关重要,这是大模型最终生成回答的原始语料。文档预处理优化应制定标准化的文档模板,确保内容的一致性和易读性。

(1)文档命名统一,控制在名称长度,涵义简洁,避免无意义的数字、符号或缩写

(2)文档语言,统一中文描述,因为量化模型对于中英文、繁简体的支持不一样,向量化导致乱码或没有用的数据

(3)文档内容,设置清晰的层级标题,对图片、表格、公式、超链接、附件等进行特殊处理。建立问答对,基于用户可能的提问方式,构建问答对,作为知识库原始数据

2、嵌入模型(Embedding Model):上传文本语料,开始构建本地的知识库时,为了便于分析和处理,需要将长文本进行切割分块

(1)通过设置合理的文档切割chunk_size,验证所选取的Embedding模型在多大的chunk_size上表现最佳

(2)文档段落处理,基于文档切割时所设置的 chunk_size,对知识库文档的段落进行拆分或者合并,尽量保证连贯语义数据不会被切割

(3)知识库文档标注,为了提升召回准确性,一方面在导入前,先对知识库文档内容进行标注处理

3、向量数据库:将切割的文本片段灌入向量数据库

(1)将知识库文档切割成chunk文本片段之后,需要通过Embedding技术,转换为算法可以处理的向量,存入向量数据库

(2)选择不同的Embedding模型进行验证,实践中也发现bge-large-zh优于m3e-base

(3)召回准确率一般采用Top5和Top10来评估Embedding模型的好坏,TopN召回准确率=TopN条chunk包含回答数 /总查询数

4、封装检索接口(问题理解和查询检索):用户提问->将问题用嵌入模型做Embedding -> 问题向量化 -> 到知识库所在向量数据库中进行相似的匹配 -> Rerank模型召回得分最高的k个Chunks

(1)用户提问后,同样将用户的问句向量化。将用户的问句与向量数据库中的chunk匹配,匹配出与问句向量最相似的Top K个

(2)k的取值,根据实际的场景不断测试,选择最佳的k值。一般来说,调大k值,会增加召回片段中含有正确答案的概率,但召回的无关信息更多,模型生成的答案质量反而会更差

(3)Temperature参数设置,1 代表十分精确,而0代表发散,生成的内容会更有创造性,需要根据自己的场景,设置合适的Temperature值

(4)Top K的排序方式,检索返回的Top K,会按照数据库中的顺序进行排序,目的是保留原始数据库的上下文结构,可以增加Top k的大小,比如从10个增加到30个,然后再使用更加精确的算法进行Rerank

5、RAG知识库工程,具体搭建流程请参考《dify知识库搭建RAG" data-itemshowtype="0" target="_blank" linktype="text" data-linktype="2">开启智能体和知识库探索之旅:Dify知识库搭建RAG》:Query -> 检索 -> Prompt -> LLM -> 回复

(1)连接向量数据库

(2)加载向量模型

(3)创建索引

(4)取本地的文本文件并进行切分,然后向索引中添加数据

(5)使用查询从向量数据库中检索数据

(6)将检索的结果进行汇总

(7)将检索到的结果Prompt(原始查询文本+用户prompt+k个Chunks三者)送到大语言模型LLM,LLM将生成回答,返回给用户

七、企业知识库还需进行一些针对性的功能设计

1、知识库管理:支持对知识库、知识数据的全生命周期治理管理。用户可通过界面、接口等方式使用知识库管理功能。

2、知识处理:支持多种文件格式、多种数据类型的知识处理,从杂乱无序的原始数据中处理获得高质量的知识信息。

3、知识构建:支持丰富的知识构建策略,用户可根据实际知识数据情况进行配置,从而达到最优的知识构建效果。

4、知识检索:支持向量、全文、混合等知识检索模式,提供丰富的检索参数配置项。用户可通过任务流组件、接口等方式使用知识检索功能。

八、大语言模型LLM在行业内典型的知识库应用场景

1、文档片段检索:利用知识库对完整文档分块并进行知识构建。通过用户输入的文本进行检索,返回最相似的TopK个文档块。

2、文本检索:利用知识库对已经完成分块的文本直接进行知识构建。通过用户输入的文本进行检索,返回最相似的TopK个文本。

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

4、简易检索问答:通过用户问题进行上述三类知识检索,将检索结果+用户问题拼接成提示词,然后提供给大模型,获得模型的回复(典型的RAG检索生成问答流程)。

5、复杂检索对话:复杂对话逻辑(如拒答、问题分类、回答分路等)需要通过任务流方式进行编排开发。业务侧需要进行对话逻辑、路径的设计,从而明确使用知识检索的具体环节。

九、基于RAG的知识库最基本的步骤,实际应用时优化建议

1、知识库的动态更新:随着时间的推移,知识库中的信息可能会过时或无效,因此需要设计自动化的知识更新机制,以保证系统回答的准确性和时效性。 

2、模型微调:在不同的应用场景中,可能需要对调用的模型进行选择,或者对提示词进行优化,来引导模型生成更符合预期的输出。 

3、混合检索策略:可以结合向量检索与传统的关键词检索策略,在保证检索精度的同时,提高召回率。 

4、系统可扩展性:确保系统能够随着数据量和请求量的增加而扩展,避免性能瓶颈。使用分布式检索和生成技术是实现这一目标的关键。 

5、用户反馈循环:引入用户反馈机制,定期分析用户的查询和系统的响应,持续改进模型和定期维护更新知识库,提升整体系统的智能水平。

6、多模态知识处理:利用OCR技术等技术处理图片和视频等非文本知识源,将其转换为可理解的纯文本数据,丰富知识库的内容。

    

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

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

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

联系我们

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

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询