logo
1

RAG VS Agent,如何选择最适合你的创建应用方式?

对于刚接触大模型的朋友们可能对RAG和Agent有点陌生,上述两个方向被业内认为是能够充分发挥大模型潜力的应用方向。百度为大家提供了可视化、轻代码甚至零代码开发RAG、Agent的框架——App Builder,助力各个行业的从业者开发出属于自己的大模型App,从而减少负担,提高工作效率。那么RAG跟Agent到底是什么呢?我们应如何选择最适合自己的创建应用方式呢?

什么是RAG?

RAG(Retrieval Augmented Generation,检索增强生成),由字面可以看出是通过检索增强大模型的生成能力。RAG主要由两个模块构成:
  1. 检索模块,计算用户问题与知识库中数据的相似度,并返回相似度最高的k(这里的k是可以由人工指定的)条数据;
  2. 生成模块,将用户的问题与检索到的数据返回给大模型,大模型再根据给定参考数据生成问题答案返回给用户。
相比大模型另一条道路——微调,RAG具有以下优点:
  1. 微调需要较高的门槛(代码能力)与算力支撑,RAG则易于零基础人群上手,只需要用户提供知识(大模型的参考数据即可)并调用API即可;
  2. 微调的大模型更新所需知识需要进行再次微调,每次更新知识都需要创建数据集并重新调用算力微调,而RAG则只需要向知识库上传文档即可,不需要算力支撑。
  3. 微调大模型在面对微调时数据集未曾出现的问题时会出现大模型幻觉现象(即一本正经说假话),而RAG说的每句话都是通过参考文献生成的,即使在面对知识库中未曾涉及的问题也可以通过设计prompt(提示)来规避大模型幻觉。

什么是Agent?

Agent的中文意思为代理人、代理商的意思,在大模型领域则为智能体,智能体能够通过整合大模型与规划、记忆以及其他关键技术模块,执行复杂的任务。一般而言,基于LLM的智能体框架包括以下核心组件:
  1. 用户请求 - 用户的问题或请求
  2. 智能体/大脑 - 充当协调者的智能体核心
  3. 规划 - 协助智能体规划未来的行动
  4. 记忆 - 管理智能体的过往行为
比如使用autogen框架可以引导大模型使用外部工具(代码解释器),将数学问题分为一个个小问题并用代码计算结果来解决数学问题
除代码解释器之外,在App Builder中Agent还可以使用其他工具来达到查询天气、文生图、查询快递的目的。

如何选择最适合你的创建应用方式?

RAG的知识库与代码解释器、查询快递等组件一同集成在了App Builder中,因此我们在不需要App Builder中纠结于使用RAG还是Agent,大家都是成年人,当然是选择全都要啦(。◕∀◕。)!!!

除前文超链外引用:

评论
用户头像