首页 > 生活分享 > 免费教学 > RAG智能体:开启信息处理与知识探索的革命之旅!

RAG智能体:开启信息处理与知识探索的革命之旅!

发布时间:2024-05-05 21:33:29来源: 15210273549

ChatGPT、Midjourney等生成式人工智能(GenAI)在文本生成、文本到图像生成等任务中表现出令人印象深刻的性能。然而,生成模型也不能避免其固有的局限性,包括产生幻觉的倾向,在数学能力弱,而且缺乏可解释性。因此,提高他们能力的一个可行办法是让他们能够与外部世界互动,以不同的形式和方式获取知识,从而提高所生成内容的事实性和合理性。

检索增强生成(Retrieval-Augmented Generation, RAG)技术研究旨在提供更有依据、更依赖事实的信息来帮助解决生成式AI的幻觉倾向、专业力弱等固有缺陷。RAG最新科研综述可以参考:面向AI内容生成的检索增强生成(RAG)技术全面综述:背景、基础、进阶、应用、展望。

检索增强生成智能体(Agentic RAG)的核心是将智能和自主性注入到RAG框架中。这就像是给一个普通的RAG系统进行了重大升级,将其转变为一个能够自主决策并采取行动以实现特定目标的自主智能体。本文帮助理解RAG智能体方法并了解它如何彻底改变我们处理信息的方式。


作者:张长旺,图源:旺知识

作为对照,您可以参考我们以前的相关文章来了解经典RAG系统的特性和特点:

高级检索增强生成技术(RAG)全面指南:原理、分块、编码、索引、微调、Agent、展望
检索增强生成技术(RAG)深度优化指南:原理、挑战、措施、展望
1 - RAG智能体特性特点

 

上下文至上:传统RAG实现的最大局限之一是它们无法真正理解并考虑更广泛的对话上下文。而RAG智能体则被设计成具有上下文感知能力。它们可以把握对话的微妙之处,考虑历史,并相应地调整行为。这意味着更连贯和相关的回应,就像智能体真正参与了一场自然对话一样。

 

智能检索策略:RAG系统过去依赖静态规则进行检索,RAG智能体比规则那聪明多了。它们采用智能检索策略,动态评估用户的查询、可用工具(数据来源)和上下文线索,以确定最合适的检索行动。就像有一个知道在哪里找到你需要的信息的私人助手一样。

 

多智能体协作:复杂的查询通常涉及多个文档或数据源,在RAG智能体的世界里,我们有多智能体协作的能力。想象一下有多个专门的智能体,每个智能体都是自己领域或数据源的专家,共同合作并综合他们的发现,为用户提供全面的回应。就像有一组专家一起解决你最棘手的问题一样。

 

智能推理:RAG智能体不仅擅长检索信息;它们还配备了远远超越简单检索和生成的推理能力。这些智能体可以对检索到的数据进行评估、校正和质量检查,确保用户收到的输出是准确可靠的。不再担心获取到可疑信息了!

 

生成后验证:RAG智能体可以进行生成后的检查。它们可以验证生成内容的真实性,甚至运行多次生成并为用户选择最佳结果。

 

适应性与学习:RAG智能体架构可以设计成包含学习机制,使智能体能够随着时间的推移适应和改进其性能。这就像有一个系统,你使用得越多,它就越聪明、越高效!

 

2 - RAG智能体参考架构

 

好了,现在我们已经对RAG智能体的基本原理有了很好的理解,让我们深入探讨一下使整个系统运行的参考架构。


在这个架构的核心,我们有RAG智能体——智能指挥官,负责接收用户查询并决定适当的行动方针。把它想象成交响乐团的指挥,协调所有不同的乐器(工具)以创造和谐的表演。

 

现在,这个智能体并不孤单。它配备了一套工具,每个工具都与特定的一组文档或数据源相关联。这些工具就像是专门的智能体或函数,可以从各自的数据源中检索、处理和生成信息。

 

例如,假设你有工具1,负责访问和处理财务报表,以及工具2,处理客户数据。RAG智能体可以根据你的查询动态选择和组合这些工具,使其能够从多个来源合成信息,为你提供全面的回应。

 

检索的信息来自于自定义文档和数据源。这些信息可以是结构化的或非结构化的,包括数据库、知识库、文本文档和多媒体内容等。它们是工具处理的原材料。

 

现在,假设你向智能体提出了一个涉及多个领域或数据源的复杂问题:RAG智能体规划整个过程,确定使用哪些工具,从相关的数据源检索相关信息,并生成针对你查询的最终回应。

 

在整个过程中,智能体利用智能推理、上下文感知和生成后验证技术,确保你收到的输出不仅准确,而且符合你的需求。

 

当然,这只是参考架构的简化表示。在现实世界中,RAG智能体的实现可能涉及其他组件,例如语言模型、知识库和其他支持系统,具体取决于特定的用例和需求。

 

3 - RAG智能体开发实例

 

我们这里实现一个RAG智能体的实例(arXiv文章检索智能体)来具体说明RAG智能体的开发实现。

 

3.1 开发架构

这里RAG智能体的开发架构是为每份文档设置一个文档智能体,每个文档智能体都能在自己的文档中进行问题解答和总结。然后建立一个顶级智能体(元智能体),管理所有低级文档智能体。


3.2 开发技术栈

Langchain: 更具体地说是 LCEL:开发 LLM 应用程序的协调框架
OpenAI: 提供大语言模型(LLM)服务
FAISS-cpu: 向量存储

3.3 数据源

在这里,我们将利用ArxivLoader来检索发表在arXiv上的文章的元数据。

3.4 代码实现

安装所需的依赖项:

!pip install -qU langchain langchain_openai langgraph arxiv duckduckgo-search
!pip install -qU faiss-cpu pymupdf
设置环境变量:

from google.colab import userdata
from uuid import uuid4
import os
#
os.environ['OPENAI_API_KEY'] = userdata.get('OPENAI_API_KEY')
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_PROJECT"] = f"AIE1 - LangGraph - {uuid4().hex[0:8]}"
os.environ["LANGCHAIN_API_KEY"] =  userdata.get('LANGCHAIN_API_KEY')

免费教学更多>>

2024年宁波市余姚市梨洲街道办事处招聘编外工作人员公告 2025年宁波市慈溪市选聘高层次和紧缺人才公告 2025年“浙里通衢·成就江来” 浙江省衢州市衢江区综合事业单位招聘优秀应届毕业生公告 2024年贵州省公安厅所属事业单位招聘工作人员方案 2024年绍兴市科学技术局招聘编外工作人员公告 2024年无锡市宜兴市工业和信息化局招聘编外工作人员公告 2024年电子科技大学电子科学与工程学院二级单位聘用人员招聘启事 2024年宜宾市长宁县事业单位招聘考试公告(22名) 2025年绍兴诸暨市卫生健康局下属事业单位赴杭州医学院、绍兴文理学院公开招聘普通高校医学类专业优秀应届毕业生公告 2024年河北省胸科医院招聘医疗、护理、医技岗位工作人员通知 2024年安顺市普定县精神病医院面向全县选调工作人员公告 2024年凉山西昌市人民医院招聘ICU、RICU、肿瘤科 临床护士公告 从LOGO改变!新能源淘汰赛,捷豹路虎要认真了 造车国家队硬核实力!岚图知音横扫10多项大奖 星纪元E08:中国埃尔法,奇瑞“新门面” 王楚钦采访逗笑全场 百雀羚旗舰店日销售额涨500% 圆明园考古又有新发现 王楚钦上演换手救球 谭松韵任嘉伦悼念蓝色狮 杨紫家业开机状态 尔滨中央大街通道扶手穿上大衣 杨子面对麦琳疑似失去所有力气和手段 当事人回应4500万买香蕉:打算吃了 相约乌镇峰会 共话“智能向善” “互联网发展报告”划重点 王楚钦复仇莫雷加德晋级四强 2024年马鞍山市卫生健康委员会校园招聘公告 2024年深圳市龙华区群团工作部下属事业单位面向市内选调职员的公告(2人) 2024年云南昆华医院投资管理有限公司(云南新昆华医院)劳务派遣人员招聘启事