RAG架构智能体

科技   2024-11-10 12:52   北京  
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索和文本生成技术的人工智能技术框架,最早由Facebook AI Research团队于2020年首次提出。RAG技术通过外挂知识库,使得用户查询前获得了专业知识,同时又能使用大模型的内容生成能力,解决了大模型应用中存在的幻觉问题、数据更新不及时、数据泄露等问题,目前已经成为大模型应用的热门解决方案。

01

大模型应用存在哪些问题?
随着生成式人工智能技术的火爆,企业和个人非常关注大模型应用。但LLM本身存在长程对话支持弱、数据更新不及时、幻觉问题、数据容易泄露等一系列问题,导致人们对大模型应用存在疑虑。

1. 幻觉问题

面对未知的问题,大模型仍然会给出看似合理的错误回答,让用户难辨真假,这就是大模型的幻觉问题。大模型出现幻觉,是因为其底层原理是基于数据概率预测下一个token,它并不知道自己不知道领域知识。而使用者也很难区分答案的真假。

2. 数据更新不及时

大模型使用的数据是其训练时的数据,在其训练完成那一刻其数据就不再更新。使用者无法从大模型获取更新的知识。

3. 缺乏领域知识

通用大模型使用公开数据进行训练,接触不到企业本身的领域数据,相当于掌握了常识的通才,但缺乏行业专门技能,解决不了企业专业场景下的问题。而企业训练自己专门的大模型成本又很高。

4. 数据安全问题

为解决缺乏领域知识的问题,企业训练自己的专有大模型成本很高,另一种方式是将自己的专有数据上传到第三方平台进行训练,但存在数据泄露的风险,这是企业所无法承担的风险。

以上问题的存在,大大限制了大模型应用的范围和场景。

02
什么是RAG技术?
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索和文本生成技术的人工智能技术框架,最早由Facebook AI Research团队于2020年首次提出。

RAG技术在生成答案之前首先在外挂的知识库中检索相关专业信息,并将这些信息结合原始提问作为提示词提供给大模型,指导大模型生成内容,极大提升了内容的质量、准确性和相关性,增强了大模型处理知识密集型任务的能力。

RAG技术通过外挂知识库,使得用户查询前获得了专业知识,同时又能使用大模型的内容生成能力,解决了大模型应用中存在的幻觉问题、数据更新不及时、数据泄露等问题。目前,RAG技术已经成为大模型应用的热门解决方案,这种能力引起了包括Google、AWS、IBM、微软、NVIDIA等科技巨头的广泛关注与支持,引领了大模型应用的最新趋势。

03
RAG架构智能体基本原理
RAG架构智能体包括两大流程:数据准备流程和检索增强生成流程。下图中左侧蓝色是数据准备流程,右侧灰色是检索增强生成流程。

1.数据准备流程

数据准备流程主要是将企业各类数据处理成为向量索引,并存储在向量数据库中,以备检索使用。具体分为四个步骤:

(1)数据提取

在企业实际应用场景中,我们面对的知识源可能包括多种格式,如Word文档、TXT文件、CSV数据表、Excel表格,甚至图片和视频。因此需要使用专门的信息抽取技术,包括文档加载器(例如PDF提取器)或多模态模型(如OCR技术),将这些丰富的知识源转换为大语言模型可理解的纯文本数据。

(2)文档分块

在企业应用场景中,文档尺寸可能非常大,因此需要使用文档分割器(Text Splitter)将长篇文档分割成多个文本块(Chunk),以便更高效地处理和检索信息。分块的方式有很多种,比如按段落、按内容或者其他特殊结构。同时,需要注意分块的尺寸,如果分块太小,虽然查询更精准,但召回时间更长;如果分块太大,则会影响查询精准度。

(3)向量化处理

通过向量嵌入模型(Embedding)进行向量化处理,将文本块转换为向量形式,生成向量索引。这样,我们就能通过简单的计算向量之间的差异性,来识别语义上相似的句子。

(4)存入向量数据库

将文档切片和嵌入模型的结果存储进入向量数据库。向量数据库的主要优势在于,它能够根据数据的向量接近度或相似度,快速、精确地定位和检索数据,实现很多传统数据库无法实现的功能,比如根据旋律和节奏搜索出特定的歌曲、在电影中搜索浪漫的片段、在文档中找出意图相近的段落等等。

2. 检索生成流程

(1)用户查询

首先,将用户的问题(Query)通过同样的向量嵌入模型(Embedding)进行向量化处理。

(2)检索增强

系统在向量数据库中搜索与该问题向量语义上相似的索引,对其进行排序找到top-k的结果,从数据库中检索到相应的文本块并返回,这就是检索增强。

(3)生成问答

系统将用户提问(Query)和上一步中检索到的信息(Context)结合,构建出一个提示词(Prompt),输入到大语言模型中,由大模型生成最终的结果并返回。

04 
RAG智能体应用场景
RAG技术问世以来,已经取得了非常广泛的使用,成为AI大模型应用中必不可少的一环。根据具体的应用场景,可以分为以下几类:

1. 通用问答系统

RAG可以根据检索到的相关信息生成准确、详细的答案,帮助员工更快地获取所需信息,提高决策效率,比如搭建企业内部知识库、公司规章制度查询、新员工入职培训、公司合同资料解读和查询等。RAG也可以通过检索和生成技术,构建丰富、准确的知识图谱。

2.智能客服系统

RAG可以结合产品资料知识库、聊天记录、用户反馈等数据,自动为用户提供更精准、自然、流畅的回答,已经有非常多的初创公司选择用RAG技术构建新一代的智能客服系统。

3.智能数据分析

RAG可以结合外部数据源,如数据库、API、文件等,为用户提供更便捷的数据分析服务。传统企业的数据分析主要靠BI分析师,每天都需要写大量的SQL语句进行查询,而在RAG的支持下,企业的每个员工都能以自然对话的方式获取数据。比如门店店长直接用语音对话,“请帮我找出上周销量排名前10,但本周销量下滑最快的品类”,系统即可直接给出答复。

4.自动化文档处理

企业还可以利用RAG和LLM大模型的文档摘要、创作辅助等功能自动化文档处理流程,例如自动生成合同、撰写周报、总结会议纪要等,节省时间和人力成本。

5. 自动生成或补全代码

RAG技术可以帮助开发者通过自然语言描述生成代码片段,或提供代码补全和优化建议。

05 
RAG领域开源项目
伴随着大模型的火爆,RAG领域的开源项目也得到了大家的持续关注和使用。这里罗列如下供大家学习使用。

1. Dify

Dify是一个开源的大语言模型(LLM) 应用开发平台。融合了后端即服务 (Backend as Service) 和 LLMOps 的理念,其直观的界面结合了 AI 工作流程、RAG 管道、代理功能、模型管理、可观测性功能等,使开发者可以快速搭建生产级的生成式AI 应用。

2. RAGFlow

RAGFlow是采用OCR和深度文档理解的新一代开源RAG 引擎,RAGFlow可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

3. QAnything

QAnything是致力于支持任意格式文件或数据库的本地知识库问答系统,可断网安装使用。任何格式的本地文件都可以往里扔,即可获得准确、快速、靠谱的问答体验。目前已支持格式: PDF(pdf),Word(docx),PPT(pptx),XLS(xlsx),Markdown(md),电子邮件(eml),TXT(txt),图片(jpg,jpeg,png),CSV(csv),网页链接(html)。

4. FastGPT

FastGPT 基于 LLM 大语言模型的开源知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景。

5. MaxKB

MaxKB是基于 LLM 大语言模型的知识库问答系统。开箱即用,支持快速嵌入到第三方业务系统。


AI教母李飞飞智能体综述论文《Agent AI-Surveying the horizons of multimodal interaction》下载方式:
1、关注本公众号“金融IT那些事儿”
2、公众号后台回复关键字:智能体,即可下载

金融IT那些事儿
资深企业架构师,数字化转型专家,TOGAF企业架构鉴定级认证专家认证,《企业架构驱动数字化转型》专著作者,20年金融业、制造业企业信息化经验,分享数字化转型、企业架构、数据资产、商业模式、战略转型等内容
 最新文章