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`。

相关推荐
通信小呆呆5 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
xiao5kou4chang6kai45 小时前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
code_pgf6 小时前
端到端自动驾驶 BEV stack
人工智能·机器学习·自动驾驶
Godspeed Zhao7 小时前
Level 4自动驾驶系统设计3——功能与场景3
人工智能·机器学习·自动驾驶
H178535090968 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
Godspeed Zhao8 小时前
现代智能汽车系统——智驾SoC之框架版图
人工智能·机器学习·自动驾驶·汽车·soc
指掀涛澜天下惊10 小时前
AI 基础知识十九 强化学习前言
人工智能·机器学习·强化学习
大模型最新论文速读10 小时前
06-16 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理
FL162386312912 小时前
国内快递面单识别检测数据集VOC+YOLO格式422张6类别
人工智能·yolo·机器学习
cvcode_study12 小时前
Scikit-learn
python·机器学习·scikit-learn