Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

RAG与agent

Answer

RAG(Retrieval-Augmented Generation,检索增强生成)是一种方法,例如在餐饮生活助手的应用中,它能根据用户需求从大规模餐饮数据集中检索出最合适的餐厅并提供相关信息和服务。实现餐饮生活助手的 RAG 实战,需要将餐饮数据集转化为 LangChain 可识别和操作的数据源,并定义 LLM 的代理,让其根据用户问题提取核心信息和条件,形成标准查询语句检索数据源并生成答案。

Agent 是大模型的一个重要概念,被认为是大模型未来的主要发展方向。它可以通过为 LLM 增加工具、记忆、行动、规划等能力来实现。目前行业里主要使用 LangChain 框架将 LLM 与工具串接。例如在 RAG 基础上,Agent 给大模型提供了更多工具,如长期记忆(数据库工具),还在 prompt 层和工具层完成规划和行动等逻辑设计。

在大模型请求中,最大的两个变量是 Messages 和 Tools,两者组合形成整个 Prompt。Agent 应用开发的本质是动态 Prompt 拼接,通过工程化手段将业务需求转述成新的 prompt。RAG 可以是向量相似性检索,放在 system prompt 里或通过 tools 触发检索。Action 触发 tool_calls 标记进入请求循环,拿模型生成的请求参数进行 API request,再把结果返回给大模型进行交互,没有 tool_calls 标记则循环结束。Multi Agents 则是通过更换 system prompt 和 tools 实现。

Content generated by AI large model, please carefully verify (powered by aily)

References

开发:LangChain应用开发指南-不用向量也可以RAG

为了更好地展示结构化数据来RAG的方法的实际效果,我们以餐饮生活助手为例,给出用户提问和回复的示例,以及餐饮生活助手RAG的代码实战。餐饮生活助手是一个基于结构化数据RAG的方法的应用,它的目的是根据用户的需求,从一个大规模的餐饮数据集中检索出最合适的餐厅,并提供相关的信息和服务。餐饮数据集是一个结构化的数据集,它包含了各种各样的餐厅的信息,例如名称、类型、地址、电话、价格、评分、评论等。餐饮生活助手的核心是一个LLM,它能够根据用户的问题,提取出核心的信息和条件,并形成标准的查询语句,然后用这个查询语句去检索餐饮数据集,得到相关的数据记录,再根据这些数据记录,生成最合适的答案,输出给用户。为了实现餐饮生活助手RAG的Langchain代码实战,我们需要完成以下几个步骤:定义餐饮数据源。我们需要将餐饮数据集转化为Langchain可以识别和操作的数据源,例如数据库、文件、API等,注册到Langchain中,并提供统一的接口和方法,让LLM的代理可以方便地访问和查询数据源。例如,我们可以将餐饮数据封装为一个API后,并结构化描述该接口的调用方式,并通过以下的代码,将其注册到Langchain中:定义LLM的代理。我们需要定义一个LLM的代理,它可以根据用户的问题,提取出核心的信息和条件,并形成标准的查询语句,然后用这个查询语句去检索餐饮数据源,得到相关的数据记录,再根据这些数据记录,生成最合适的答案,输出给用户。这可以通过Langchain的代理(Agent)来实现。代理管理器可以让开发者通过简单的编程,定义不同的LLM的代理,以及它们的功能和逻辑,并提供统一的接口和方法,让用户可以方便地与LLM的代理进行交互。

有用Agent产品开发踩坑及思考

其实只要看过官方文档的应该都能知道,大模型请求中,最大的两个变量:Messages和Tools。Messages里面放的是sys prompt,memory,user query;Tools里面放的是一些能力的Json Scheme;而这两者组合在一起,就形成整个完全的Prompt。所以Agent应用开发的本质是什么?动态Prompt拼接。通过工程化的手段,不断把业务需求转述成新的prompt。短期记忆:messages里的历史QA对;长期记忆:summary之后的本文,再塞回system prompt;RAG是啥?向量相似性检索,然后放在system prompt里或者通过tools触发检索Action:触发tool_calls标记,进入请求循环,拿模型生成的请求参数进行API request,再把结果返回给大模型进行交互;没有tool_calls标记了,循环结束。对应页面上就是对话一轮对话结束。Multi Agents是啥?把system prompt和tools换一换,A就变成B了。还有啥?没了呀,本质就是这些东西。当然,这也就是最基本的原理,想做深,做好,肯定还有很多坑需要踩。

Ranger:【AI 大模型】非技术背景,一文读懂大模型(长文)

agent算是从年前到现在,比较火的一个概念了,也被很多人认为是大模型的未来的一个主要发展方向。首先我们看这个很经典的一张图看起来还是蛮复杂的,然后市面上的很多描述agent的文章写的也比较复杂,说智能体是啥智能的最小单元,相较于copilot,是可以给他设定一个目标后主动完成任务的等等。当然这些说法都没错,但是我觉得还是有些不好理解的。所以我们依然先从原理着手去理解下,agent是个什么东西。首先这张图里,中间的“智能体”,其实就是llm,或者说大模型。四个箭头,分别是我们为llm增加的四个能力。工具、记忆、行动、规划。那么这个是怎么新增的呢?目前行业里主要用到的是一个叫langchain的框架,这个框架可以简单理解为,他把llm和llm之间,以及llm和工具之间,通过代码或prompt的形式,进行了串接。这个其实也像是在rag的基础上再进了一步。因为我们知道rag其实是给了大模型一个浏览器工具来使用嘛,那agent,其实就是给了大模型更多的工具。比如像是长期记忆,其实就是给了大模型一个数据库工具让其往里记录重要信息。规划和行动,其实就是在大模型的prompt层做的些逻辑,比如让其将目标进行每一步的拆解,拆解完成后,每一步去输出不同的固定格式action指令,给到工具作为输入。当然langchain或者说agent还不止这些,也会有很多其他的代码逻辑体现在其中,不过其主要的主干逻辑,其实还是在prompt层和工具层,完成的设计。

Others are asking
什么是RAG
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型存在一些缺点,如无法记住所有知识(尤其是长尾知识)、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,增删改查可解释,且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型本身的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档。 2. 文本分割:把 Documents 切分为指定大小的块。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-14
RAG对话 摘要总结 功能实现
LangChain 和 RAG 的结合具有以下优势: 1. 灵活性:可根据需求和数据源选择不同组件和参数定制 RAG 应用,也能使用自定义组件(需遵循接口规范)。 2. 可扩展性:能利用 LangChain 的云服务部署和运行,无需担忧资源和性能限制,还可借助分布式计算功能加速应用,发挥多个节点并行处理能力。 3. 可视化:通过 LangSmith 可视化工作流程,查看各步骤输入输出及组件性能状态,用于调试和优化,发现并解决潜在问题和瓶颈。 其应用场景多样,包括: 1. 专业问答:构建医疗、法律、金融等专业领域的问答应用,从专业数据源检索信息辅助大模型回答问题,如从医学文献中检索疾病诊治方案回答医疗问题。 2. 文本摘要:构建新闻或论文摘要应用,从多个数据源检索相关文本帮助大模型生成综合摘要,如从多个新闻网站检索同一事件报道生成全面摘要。 3. 文本生成:构建诗歌、故事生成等应用,从不同数据源检索灵感协助大模型生成更有趣和创意的文本,如从诗歌、歌词或小说中检索相关文本生成作品。 此外,还介绍了本地部署资讯问答机器人的实现方式,即基于用户问题从向量数据库检索相关段落并按阈值过滤,让模型参考上下文信息回答,还创建了网页 UI 并进行评测,对不同模型的测试表现进行了对比,得出 GPT4 表现最佳等结论,并总结了使用 Langchain 和 Ollama 技术栈在本地部署资讯问答机器人及相关要点,即上下文数据质量和大模型性能决定 RAG 系统性能上限。
2025-04-11
飞书智能伙伴创建平台 RAG实现
飞书智能伙伴创建平台(英文名:Aily)是飞书团队旗下的企业级 AI 应用开发平台,能提供简单、安全且高效的环境,帮助企业构建和发布 AI 应用,推动业务创新和效率提升,为企业探索大语言模型应用新篇章、迎接智能化未来提供理想选择。 在飞书智能伙伴创建平台上实现 RAG 相关应用有多种方式: 1. 利用飞书的知识库智能问答技术,引入 RAG 技术,通过机器人帮助用户快速检索内容。 2. 可以使用飞书的智能伙伴功能搭建 FAQ 机器人,了解智能助理的原理和使用方法。 3. 本地部署资讯问答机器人,如通过 Langchain + Ollama + RSSHub 实现 RAG,包括导入依赖库、从订阅源获取内容、为文档内容生成向量等步骤。例如使用 feedparse 解析 RSS 订阅源,ollama 跑大模型(使用前需确保服务开启并下载好模型),使用文本向量模型 bgem3(如从 https://huggingface.co/BAAI/bgem3 下载,假设放置在某个路径 /path/to/bgem3,通过函数利用 FAISS 创建高效向量存储)。 使用飞书智能伙伴创建平台的方式: 1. 在 WaytoAGI 飞书知识库首页找到加入飞书群的链接(二维码会定期更新,需在找到最新二维码),点击加入,直接@机器人。 2. 在 WaytoAGI.com 的网站首页,直接输入问题即可得到回答。 创建问答机器人的原因: 1. 知识库内容庞大,新用户难以快速找到所需内容。 2. 传统搜索基于关键词及相关性,存在局限性。 3. 需要用更先进的 RAG 技术解决问题。 4. 在群中提供快速检索信息的方式,使用更便捷。 2024 年 2 月 22 日的会议介绍了 WaytoAGI 社区的成立愿景和目标,以及其在飞书平台上的知识库和社区情况,讨论了相关技术和应用场景,并介绍了企业级 agent 方面的实践。
2025-04-08
RAG是什么
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型需要 RAG 进行检索优化的原因在于其存在一些缺点: 1. LLM 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. LLM 的知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. LLM 的输出难以解释和验证,存在内容黑盒、不可控及受幻觉干扰等问题。 4. LLM 容易泄露隐私训练数据。 5. LLM 的规模大,训练和运行成本高。 而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景如知识问答系统,用户提出问题,RAG 模型从大规模的文档集合中检索相关的文档,然后生成回答。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档,LangChain 提供了 100 多种不同的文档加载器。 2. 文本分割:文本分割器把 Documents 切分为指定大小的块。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-03
RAG实战教程推荐
以下为您推荐一些 RAG 实战教程: 1. 【AI+知识库】商业化问答场景,让 AI 回复更准确,一篇专为所有“小白”讲透 RAG 的实例教程(上篇): 介绍了常见的错误场景,如回答不准确、报价错误、胡编乱造等,强调了优化 AI 准确回答的重要性,并引出 RAG 概念。 讲解了基础概念,包括优化幻觉问题和提高准确性需要了解从“问题输入”到“得到回复”的过程,并针对每个环节逐个调优。 阐述了检索原理,包括问题解析阶段通过嵌入模型将问题文本转化为向量,知识库检索阶段比较向量选择相关信息片段,信息整合阶段构建融合全面的信息文本,大模型生成回答阶段将整合后的信息转化为向量输入大语言模型生成回答。还通过实例进行了详细说明,如知识库检索部分的向量化、优化问题、向量检索、抽取内容块等,以及大模型对话部分。 2. 开发:LangChain 应用开发指南 不用向量也可以 RAG: 以餐饮生活助手为例展示了基于结构化数据来 RAG 的实战方法,包括给出用户提问和回复的示例,以及餐饮生活助手 RAG 的代码实战。 介绍了实现餐饮生活助手 RAG 的 Langchain 代码实战需要完成的步骤,如定义餐饮数据源,将餐饮数据集转化为 Langchain 可识别和操作的数据源并注册到 Langchain 中;定义 LLM 的代理,通过 Langchain 的代理根据用户问题提取信息、形成查询语句、检索数据源、生成答案并输出给用户。
2025-04-01
如何学习RAG
以下是关于学习 RAG 的方法和相关内容: 1. 从 AI 搜索切入:RAG 流程复杂,可先从熟悉的 AI 搜索入手。AI 大模型擅长语义理解和文本总结,但不擅长获取实时信息;搜索引擎擅长获取实时信息但信息分散,需人为总结。AI 与搜索引擎结合,给 AI 配备活字典,搜索引擎充当知识库。 2. 用 Coze 学习 RAG 的方法: 推荐使用 Claude + Coze 的方法。Claude 是强大的 AI 大模型,Coze 是 AI Agent 的衍生产品。 首先通过 Claude 了解细节概念,然后通过 Coze 搭建 Demo,在动手实践中学习。 学习过程中创建了 4 个 Bot: 产品资料问答机器人,利用 Coze 的知识库能力演示知识库在企业中的应用。 Query 改写助手学习 Bot,专门用于学习 Query 的改写。 Query 改写效果对比 Bot,对比 Query 改写和未改写的区别。 RAG 全流程学习 Bot,结合对 RAG 全流程的了解,使用 Coze 的工作流模拟 RAG 的离线存储和在线检索全流程。 3. 相关视频演示: 还不知道 Coze 是什么的同学可以看公开分享: 。
2025-04-01
有关 ai agent 的科普文章
以下是为您提供的关于 AI Agent 的科普内容: AI Agent 是一个融合了多学科精髓的综合实体,包括语言学、心理学、神经学、逻辑学、社会科学和计算机科学等。它不仅有实体形态,还有丰富的概念形态,并具备许多人类特有的属性。 目前,关于 AI Agent 存在一些情况。例如,网络上对其的介绍往往晦涩难懂,让人感觉神秘莫测,其自主性、学习能力、推理能力等核心概念,以及如何规划和执行任务、理解并处理信息等方面,都像是笼罩在一层神秘面纱之下。 另外,以国与国之间的外交为例来解释相关协议。假设每个 AI 智能体(Agent)就是一个小国家,它们各自有自己的语言和规矩。各国大使馆试图互相沟通、做生意、交换情报,但现实中存在诸多问题,如协议各异、要求不同等。 如果您想了解更多关于 AI Agent 的详细内容,可访问: 。
2025-04-15
,AI agent 发展趋势,技术状态,商业模式
以下是关于 AI Agent 的发展趋势、技术状态和商业模式的相关信息: 发展趋势: 2024 年内,办公场景“AI 助手”开始有良好使用体验,实时生成的内容开始在社交媒体内容、广告中出现。 2025 2027 年,接近 AGI 的技术出现,人与 AI 配合的工作方式成为常态,很多日常决策开始由 AI 来执行。 技术状态: 目标实现基于 ReAct、SFT、RAG、强化学习等实现自主规划能力的 AI Agent,构建具备认知、决策智能的 Agent 智能体框架。 专注文本/多模态大模型、AI Agent 技术创新与应用。 商业模式: 依据不同类型销售市场的特点,结合一站式 AI 搭建平台将销售部署的产品化和模版化,让企业更容易落地和应用 AI 能力。 销售智能体 Blurr.AI 占位交易环节,解决 2B 销售获客的痛点,且具有向前后端环节延展的势能。
2025-04-13
ai agent有哪些技术
AI Agent 涉及的技术包括以下方面: 1. 长期任务执行技术:能够将复杂、跨度长的任务分解为小步骤,并在执行中保持目标导向和适时调整策略。 2. 多模态理解技术:能同时理解文字、图像、声音等多种交流方式,通过多种感官理解世界和任务上下文。 3. 记忆与行动技术:通过先进的记忆机制积累经验,记住对话、操作步骤和效果,使行动更精准高效。 4. 自适应学习技术:从每次交互中吸取经验,不断完善策略,实现“智慧成长”。 在技术层面,AI Agent 的发展有两条技术路线: 1. 以自主决策为核心的 LLM 控制流,代表了 AGI 的探索方向。 2. 以工作流(Workflow)编排为重点的工具集成系统,加速了 AI 落地应用。 特别值得关注的是 Anthropic 提出的 MCP(Model Context Protocol),其本质是一个通用接口协议,能解决让 AI 模型以标准化、可扩展方式与外部世界交互的问题。 此外,强化学习(RL)也是 AI Agent 的重要技术,起初主要依托策略搜索和价值函数优化等算法,如 Qlearning 和 SARSA。随着深度学习技术兴起,深度神经网络与强化学习结合形成深度强化学习,赋予 Agent 从高维输入中学习复杂策略的能力,如 AlphaGo 和 DQN 等。但强化学习面临训练周期长、采样效率低和稳定性等问题。其特点是通过试错学习最优行为策略以最大化累积奖励,时间始于 20 世纪 90 年代至今,技术包括 Qlearning、SARSA、深度强化学习(结合 DNN 和 RL),优点是能够处理高维状态空间和连续动作空间,缺点是样本效率低、训练时间长。
2025-04-09
AI chatbot、agent、copilot区别
AI chatbot、agent、copilot 主要有以下区别: 1. 定义和角色: Copilot:翻译成副驾驶、助手,在帮助用户解决问题时起辅助作用。 Agent:更像主驾驶、智能体,可根据任务目标自主思考和行动,具有更强的独立性和执行复杂任务的能力。 Chatbot:具备基本对话能力,主要依赖预设脚本和关键词匹配,用于客户服务和简单查询响应。 2. 核心功能: Copilot:更多地依赖于人类的指导和提示来完成任务,功能很大程度上局限于在给定框架内工作。 Agent:具有更高的自主性和决策能力,能够根据目标自主规划整个处理流程,并根据外部反馈进行自我迭代和调整。 3. 流程决策: Copilot:处理流程往往依赖于人类确定的静态流程,参与更多是在局部环节。 Agent:解决问题的流程由 AI 自主确定,是动态的,不仅可以自行规划任务步骤,还能根据执行过程中的反馈动态调整流程。 4. 应用范围: Copilot:主要用于处理简单、特定的任务,更多是作为工具或助手存在,需要人类引导和监督。 Agent:能够处理复杂、大型的任务,并在 LLM 薄弱的阶段使用工具或 API 等进行增强。 5. 开发重点: Copilot:主要依赖于 LLM 的性能,开发重点在于 Prompt Engineering。 Agent:同样依赖于 LLM 的性能,但开发重点在于 Flow Engineering,即在假定 LLM 足够强大的基础上,把外围的流程和框架系统化。 以下是一些 Agent 构建平台: 1. Coze:新一代一站式 AI Bot 开发平台,适用于构建基于 AI 模型的各类问答 Bot,集成丰富插件工具。 2. Mircosoft 的 Copilot Studio:主要功能包括外挂数据、定义流程、调用 API 和操作,以及部署 Copilot 到各种渠道。 3. 文心智能体:百度推出的基于文心大模型的智能体平台,支持开发者根据需求打造产品能力。 4. MindOS 的 Agent 平台:允许用户定义 Agent 的个性、动机、知识,以及访问第三方数据和服务或执行工作流。 5. 斑头雁:2B 基于企业知识库构建专属 AI Agent 的平台,适用于多种场景,提供多种成熟模板。 6. 钉钉 AI 超级助理:依托钉钉强大的场景和数据优势,在处理高频工作场景方面表现出色。 以上信息由 AI 大模型生成,请仔细甄别。
2025-04-07
有没有可以抓取公众号文章的 agent
以下是一些可以抓取公众号文章的方法和相关信息: 1. 可以通过读 SQLiteDB 或者获取 RSS XML 页面(http://127.0.0.1:4000/feeds/all.atom)来获取更新的公众号。个人选择在公众号订阅不太多时,建议使用分析 XML 页面,比较简单。可以写个程序获得公众号的更新文章,由于本地部署,无法直接将文章同步到 Coze,所以选择使用多维表格(当在线数据库,事实飞书多维表格后台也是使用类似 redis 或 TiDB 这样的数据库实现的)及飞书机器人 API 的方式来实现中间数据的传递。只要在多维表格中设置一个状态转换,就可以知道文章是否已经被解读和推送。 2. 可以通过文章链接订阅公众号,定时推送情报消息,并实现情报 CoT 问答。例如使用 Docker 浏览器打开:http://127.0.0.1:4000 也可以 http://wewerss 服务的 IP:端口为上面设置的外部端口。先点帐号管理,然后点“添加读书帐号”(即使用微信读书来实现公众号订阅),扫码添加帐号。然后在公众号源上,点添加。然后将想订阅的公众号的一篇文章链接粘贴并点确定即可订阅公众号文章。但建议不要短时间订阅太多公众号(经测试最好不要超 40 个)。 3. 瓦斯阅读平台可以抓取公众号的内容,但平台上公众号不太全。 4. GitHub 上的 WeWe RSS 工具可以通过微信读书的方式订阅公众号。
2025-04-05
dify工作流中agent节点怎么使用
在 Dify 工作流中使用 Agent 节点的步骤如下: 1. 搭建工作流框架: 进入 Coze,点击「个人空间工作流创建工作流」,打开创建工作流的弹窗。 根据弹窗要求自定义工作流信息,点击确认完成新建。 左侧「选择节点」模块中,根据子任务需要,实际用上的有插件(提供能力工具拓展 Agent 能力边界)、大模型(调用 LLM 实现文本内容生成)、代码(支持编写简单脚本处理数据)。 按照流程图在编辑面板中拖入对应的 LLM 大模型、插件、代码节点完成框架搭建。 2. 测试 Agent 节点功能: 完成任何一个节点的配置后,都需要进行试运行测试以验证节点的运行效果。 步骤一:点击「测试该节点」。 步骤二:按格式要求输入待测试的输入内容,如果是 array 等其他格式,请自行对话 AI 或搜索网络确认格式要求。 步骤三:点击「展开运行结果」,检查输入、输出项是否有误。如果有误,请依次检查“测试输入内容”、“节点配置”是否有误,以及优化“提示词”以提升对生成内容的约束力。当多次测试时输入与输出都符合预期,就可以进入下一个子任务的配置。
2025-04-05