rag笔记3

摘要

本周主要学习了RAG系统中链(Chain)的核心概念与调用方式。首先明确了RAG链的本质是将检索步骤与生成步骤串联,形成"检索→注入上下文→调用LLM"的完整流程;随后进一步掌握了链的两种关键调用方法------`invoke`用于同步阻塞、一次性返回完整结果,而`stream`用于流式输出、逐步返回生成内容,以适应不同交互场景下的需求。

abstract

This week, the main focus was on learning the core concepts and invocation methods of chains in RAG systems. First, I clarified that the essence of a RAG chain is to connect the retrieval step with the generation step, forming a complete "retrieve → inject context → call LLM" process. Subsequently, I further mastered two key invocation methods for the chain: invoke, which is used for synchronous blocking and returns the complete result at once, and stream, which is used for streaming output and returns generated content step by step, to meet the needs of different interaction scenarios.

RAG中的"Chain"通常指一个将检索与生成步骤串联起来的处理流程:首先根据用户输入从外部知识库中检索相关文档片段,然后将这些片段与原始问题组合成增强的提示词,最后交给大模型生成基于检索信息的答案。常见的实现如LangChain中的`RetrievalQA`链,它自动管理"检索→注入上下文→调用LLM"的完整链路,并能添加对话记忆、结果重排、文档压缩等中间处理环节。通过这种链式编排,RAG能有效减少模型幻觉,让回答依托真实的外部数据,同时保持对话的连贯性和可控性。

chain

LangChain 链(尤其是| 管道链)的核心工作原理,这也是链式调用的核心价值:实现数据的自动化流转与组件的协同工作,如下。

chain = prompt_template | model

核心前提:即Runnable子类对象才能入链(以及Cal1able、Mapping接口子类对象也可加入(后续了解用的不多))。我们目前所学习到的组件,均是Runnable接口的子类,如下类的继承关系:

invoke和stream

在RAG链的具体调用中,`invoke` 和 `stream` 是两种核心执行方式:`invoke` 是同步阻塞调用,接收完整输入后等待整个链运行结束并一次性返回最终结果,适用于批处理或用户不关心中间过程的场景;而 `stream` 则允许链在生成过程中逐步产出输出块(如逐词返回模型生成的文本),便于在流式应用中实现实时展示、低延迟反馈或提前终止生成。两者通常共享相同的输入参数,开发者可根据交互需求选择:需要完整答案时使用 `invoke`,需要边生成边显示时使用 `stream`。

相关推荐
z小猫不吃鱼10 小时前
模型剪枝经典论文精读:Pruning Filters for Efficient ConvNets
算法·机器学习·剪枝
AIGS00112 小时前
企业AI落地:Agent OS 治理框架实践
java·大数据·人工智能·机器学习·人工智能ai大模型应用
z小猫不吃鱼14 小时前
模型剪枝经典论文精读:Channel Pruning for Accelerating Very Deep Neural Networks
算法·机器学习·剪枝
学也学不废14 小时前
Flask问答系统与LAUR模型
人工智能·python·机器学习·分类·数据挖掘
Java小白笔记15 小时前
Codex 桌面应用设置功能完全指南
人工智能·opencv·目标检测·机器学习·计算机视觉·数据挖掘·语音识别
大鱼>16 小时前
Scikit-learn Pipeline:构建可复用的 ML 流水线
python·机器学习·scikit-learn
147API16 小时前
Claude global workspace 研究给智能体测试提了一个醒
人工智能·算法·机器学习
葫三生16 小时前
《论三生原理》与模糊数学的关联、异同、互补关系?
人工智能·科技·算法·机器学习·开源
格林威17 小时前
网口相机 vs USB相机:区别与适用场景(选型不再纠结)
人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉·工业相机
Token炼金师18 小时前
四段式淬炼:预训练、持续预训练、中训练、冷启动 SFT —— 课程学习与训练阶段编排
人工智能·深度学习·机器学习