如何应用RAG Agent轻松处置企业复杂疑问

1、大模型的痛点

大模型技术席卷环球,为日常上班和生存带来便利,但也面暂时效性、准确性等疑问。如何优化大模型的性能?处置其应战?构建初级运行?成为关键待处置疑问。

RAG(检索增强生成) 技术经过消息检索和文本生成,清楚优化了大模型的性能。但 RAG 也存在局限性,比如:数据依赖、检索效率等。如何处置这些痛点?如何进一步优化 RAG 性能?是本文剖析的重点。

2、RAG 的痛点

Naive RAG 经过检索和生成,优化大模型在问答、自动助手等义务上的性能。但 Naive RAG 难以处置复杂疑问或大型文档集,举例如下:

便捷疑问 :"特斯拉的关键危险起因是什么?" 和 "作者在 YC 时期做了什么?" 等疑问,Naive RAG 可以给出准确答案。

复杂疑问 :"总结 XXX 公司年度报告"、"比拟开发者 A 和 B 奉献" 或 "剖析滴滴公司危险" 等疑问,Naive RAG 或者不可提供满意结果。

针对复杂疑问,咱们须要探求更初级 RAG 处置方案。

3、From RAG to Agent

Naive RAG(基于检索的增强生成)运行关键是在整合自身常识库的基础上,优化大型模型的性能,以产出更精准、即时和丰盛的行业内容或定制化消息。但是,这种运行仍限于内容生成的畛域。若要人工自动像一位“指标导向”的高效上班者一样,自主选用多种工具,与不同系统互动协作,直至实现最终义务,那么咱们就须要从 RAG 更新至 Agent 形式。

以下是 RAG 向 Agent 转变的形容:

从 RAG 到 Agent 的演进,并非齐全摒弃 RAG,而是在其基础上拓展以下几层配置:

经过这些配置的增强,Agent 不只能应回答杂义务,还能在多变的环境中灵敏应答。与 RAG 相比,Agent更专一于实现特定义务,并更器重与现有系统的融合。它不只了解言语,还能在事实环球或数字系统中采取执行。Agent 不只能执行复杂的多步骤义务,比如;消息检索、数据处置,还能无缝接入各种系统和 API 接口,访问用户数据,与数据库互动。

人类之所以共同,很大水平上是由于咱们会经常使用工具。雷同,作为自动体的Agent 也能借助外部工具,处置更为复杂的义务。比如:Agent 能够应用图表生成工具制造在线图表,经常使用天气查问工具失掉天气消息。因此,Agent 是真正监禁大模型潜能的关键。

因此,咱们的大模型运行也将从 RAG 迈向 Agent,可以说,Agent 是 RAG 开展的肯定归宿。

4、案例剖析

最近,阿里巴巴千问团队成功开发了一款新型 Agent(自动体),该自动体整合了 RAG 技术,旨在解析蕴含数百万字词的文档。虽然它仅应用了 Qwen2 大模型的 8k 高低文窗口,但其性能体现却逾越了传统的 RAG 模型和长序列原生模型。

Agent 构建流程如下:

该自动体的构建触及三个级别,每一级都是基于前一级的构建:

级别一:检索

这一级别关注的是如何识别并提取与关键词最关系的文档片段,关键分为以下三个步骤:

步骤1 :辨别指令消息与非指令消息

用户输入示例:“请用2000字的篇幅具体说明,我的疑问是,自行车是什么时刻发明的?请用英文回答。”

消息合成:{“疑问内容”: [“自行车是什么时刻发明的”], “指令要求”: [“2000字具体说明”, “用英文回答”]}。

步骤2 :多言语关键词推导

输入疑问:“自行车是什么时刻发明的”

消息转换:{“英文关键词”: [“bicycles”, “invention”, “timing”], “中文关键词”: [“自行车”, “发明”, “时期”]}。

步骤3 :运行 BM25 关键词检索算法

经过 BM25 算法,对关键词启动高效的检索,以定位关系文档片段。

级别二:分块阅读

当关系文档片段与用户查问关键词的堆叠度无余,或者造成这些片段在检索环节中被疏忽,未能传递给大模型。为了处置这个疑问,咱们驳回了以下战略:

步骤1:关系性评价

经常使用聊天模型对每个512字节的文档片段启动评价,判别其与用户查问的关系性。假设模型判别为不关系,则输入“无”;若判别为关系,则输入关系的句子。

步骤2:基于关系句子的检索

从步骤1中提取出的关系句子,将它们作为搜查查问词,应用BM25算法检索出与用户查问最关系的文档块。

步骤3:生成答案

依据检索到的高低文消息,生成最终的答案。

级别三:递进推理

面对多跳推理疑问,比如:用户提问:“与贝多芬的第五交响曲创作于同一世纪的交通工具是什么?”大模型须要将疑问合成为多个子疑问来逐个解答:“贝多芬的第五交响曲是在哪个世纪创作的?”以及“自行车是在哪个世纪发明的?”

这一应战可以经过以下步骤,应用工具调用(又称函数调用)自动体或 ReAct自动体来处置:

1. 向三级自动体(Lv3-Agent)提出原始疑问。

2. 当三级自动体不可依据其现有记忆回答疑问时,执行以下步骤:

a. 三级自动体生成一个新的子疑问。

b. 三级自动体将这个子疑问提交给二级自动体(Lv2-Agent)。

c. 将二级自动体的回答整合到三级自动体的记忆库中。

3. 重复上述环节,直到三级自动体能够答还原始疑问。

4. 最终,三级自动体提供原始疑问的解答。

参考:

原文链接:​ ​​ ​

您可能还会对下面的文章感兴趣: