当前位置: 首页 > news >正文

LangChain 第三课:Chain 链精讲

LangChain 第三课:Chain 链精讲(通俗讲解 + 完整注释代码)

一、核心概念

1. 什么是 Chain

链就是把多个 LangChain 组件按顺序串成一条自动执行流水线不用分步手动调用,写好流程后输入参数自动走完全部流程

2. Chain 核心作用

  1. 简化代码,减少重复调用
  2. 固定业务执行流程
  3. 模型 + 提示词 + 逻辑一键运行
  4. 可嵌套、可组合实现复杂任务

3. 最常用 5 种主流链(工作必用)

  1. LLMChain 基础问答链(最基础)
  2. SequentialChain 顺序执行多步链
  3. SimpleSequentialChain 简易顺序链
  4. RetrievalQA 检索问答链(RAG 专用)
  5. ConversationChain 带记忆对话链

二、1. LLMChain 基础问答链(入门必学)

作用

绑定提示词模板 + 大模型,一键执行问答

完整带注释代码

python

运行

# 导入依赖 from langchain_openai import OpenAI from langchain.prompts import PromptTemplate # 导入基础链 from langchain.chains import LLMChain # 1. 初始化大模型 # temperature=0.2 偏向严谨、少发散 llm = OpenAI(temperature=0.2) # 2. 定义提示词模板 template = "请简短讲解{knowledge}这个知识点" prompt = PromptTemplate( input_variables=["knowledge"], # 定义传入变量 template=template ) # 3. 组装成基础链 # 把模型和提示词绑定在一起 llm_chain = LLMChain(llm=llm, prompt=prompt) # 4. 运行链,传入参数执行 result = llm_chain.run(knowledge="向量数据库") # 打印结果 print(result)

执行流程

传入变量 → 填充提示词 → 调用大模型 → 返回答案


三、2. SimpleSequentialChain 简易顺序链

作用

一步结果作为下一步输入,连续执行多个任务适合:翻译→总结、解释→精简、扩写→缩写

业务例子

第一步:解释名词第二步:把解释压缩成一句话

带注释代码

python

运行

from langchain_openai import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain, SimpleSequentialChain # 1. 初始化模型 llm = OpenAI(temperature=0.3) # 第一步链:详细解释 template1 = "详细解释一下:{topic}" prompt1 = PromptTemplate(input_variables=["topic"], template=template1) chain1 = LLMChain(llm=llm, prompt=prompt1) # 第二步链:精简成一句话 template2 = "把下面内容精简成一句话:{content}" prompt2 = PromptTemplate(input_variables=["content"], template=template2) chain2 = LLMChain(llm=llm, prompt=prompt2) # 组装顺序链 自动把上一步输出传给下一步 total_chain = SimpleSequentialChain(chains=[chain1, chain2]) # 只需要传入最开始参数 final_result = total_chain.run("大模型RAG") print(final_result)

特点

只能单输入单输出,不能传多个不同变量


四、3. SequentialChain 标准顺序链(企业常用)

作用

支持多个输入、多个输出,复杂多步骤业务首选

业务场景

输入:技术名词 + 使用场景第一步:写原理第二步:写适用场景第三步:写优缺点

带注释代码

python

运行

from langchain_openai import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain, SequentialChain llm = OpenAI(temperature=0.2) # 链1:生成原理 prompt1 = PromptTemplate( input_variables=["tech"], template="简述{tech}工作原理" ) chain1 = LLMChain(llm=llm, prompt=prompt1, output_key="principle") # 链2:生成优缺点 prompt2 = PromptTemplate( input_variables=["tech"], template="写出{tech}的优点和缺点" ) chain2 = LLMChain(llm=llm, prompt=prompt2, output_key="advantage") # 组装多入多出顺序链 all_chain = SequentialChain( chains=[chain1, chain2], input_variables=["tech"], # 整体统一输入 output_variables=["principle","advantage"] # 需要拿到的所有输出 ) # 执行获取字典格式结果 res = all_chain.invoke({"tech":"Agent智能体"}) print("原理:",res["principle"]) print("优缺点:",res["advantage"])

五、4. RetrievalQA 检索问答链(RAG 核心链)

作用

专门做文档知识库问答,自动完成:检索文档片段 → 拼接上下文 → 模型生成答案

极简结构逻辑

python

运行

# 伪代码逻辑 # 加载文档 -> 分块 -> 存入向量库 -> 检索相似内容 -> 问答链回答

核心记忆

做本地知识库问答,直接用 RetrievalQA 链


六、5. ConversationChain 对话记忆链

作用

自带记忆组件,自动保存聊天上下文,多轮对话连贯之前记忆层代码就是此链

python

运行

from langchain_openai import OpenAI from langchain.chains import ConversationChain from langchain.memory import ConversationBufferMemory # 初始化记忆 memory = ConversationBufferMemory() # 搭建对话链 conv_chain = ConversationChain(llm=OpenAI(temperature=0.5), memory=memory) # 多轮对话自动记历史 print(conv_chain.predict(input="我在学习LangChain")) print(conv_chain.predict(input="帮我总结它的链功能"))

七、本节课必背知识点(直接背)

  1. Chain 本质:组件流水线,自动执行整套流程
  2. LLMChain:基础绑定模型 + 提示词,单任务首选
  3. SimpleSequentialChain:简单串行,单入单出
  4. SequentialChain:复杂串行,多入多出,项目最常用
  5. RetrievalQA:RAG 知识库专属问答链
  6. ConversationChain:带记忆多轮对话链
  7. 链最大优势:流程固化、代码简洁、方便统一维护

八、通俗易懂大白话总结

  • 单个任务:用LLMChain
  • 先后两步简单流程:SimpleSequentialChain
  • 多步骤多结果正式业务:SequentialChain
  • 本地文档问答:RetrievalQA
  • 聊天连续对话:ConversationChain
http://www.jsqmd.com/news/840681/

相关文章:

  • HarmonyOS ArkWeb 系列之页面预连接与 DNS 预解析:prepareForPageLoad 加速首屏
  • Legacy-iOS-Kit:让旧款iOS设备重获新生的终极降级工具指南
  • CVE-2026-25874深度解析:Hugging Face LeRobot未认证RCE漏洞,AI机器人安全的“潘多拉魔盒“
  • REFramework深度解析:如何为RE引擎游戏打造稳定可靠的模组平台
  • 2026年内墙仿石漆代理商怎么选:核心评估标准与主流品牌参考 - 万事通达
  • 2026年别墅仿石漆代理商靠谱性研判:行业选型指南与可信品牌梳理 - 万事通达
  • SAP PP实战解析:工作中心(Work Center)的产能规划与调度配置
  • NotebookLM去重效率翻3倍:实测验证的7步精准过滤工作流
  • AI内容工厂:从LLM到TTS的全栈自动化内容生成实战
  • 如何用3分钟永久保存你的B站缓存视频?m4s-converter详细使用指南
  • 2026年内墙仿石漆经销商哪家好:行业主流品牌实力分析与适配选择指南 - 万事通达
  • Tiger:基于AI的CLI代码助手,赋能开发者高效理解与生成代码
  • 免费开源OCR终极方案:3步实现高效文字识别与PDF转换
  • 谷歌seo搜索引擎优化教程有吗?针对SGE:2026谷歌AI排名最新技巧
  • Kimsuky 组织基于 PebbleDash 与 AppleSeed 的攻击战术演进与技术分析
  • 谷歌seo搜索引擎优化外包给谁比较好?Shopify独立站转化的3个关键
  • Linux 日志管理
  • 手把手教你用Python和SAM搞定CHAOS医学CT数据预处理(附完整代码)
  • 终极免费方案:KeyboardChatterBlocker彻底拯救机械键盘连击困扰
  • VSCode里装ESP-IDF插件总失败?试试这个手动升级pip的“卡点”操作
  • Google Pixel 10零点击漏洞链深度解析:5行代码拿下内核的技术细节与行业反思
  • 西门子S7-200 PLC步进控制实战:手把手教你用SM66.7状态位实现精准启停与循环
  • Cursor对话历史导出扩展:基于DOM逆向的AI协作数据备份方案
  • Word中知网研学插件“隐身”故障排查与COM加载项修复指南
  • 20253317孙晓东 实验四《Python程序设计》实验报告
  • Taotoken多模型聚合平台使用Python调用大模型的完整教程
  • HFSS新手避坑指南:边界条件设置顺序搞错,仿真结果差十倍?
  • 权威推荐!低查重AI教材编写工具,一键生成20万专业教材书稿!
  • 英雄联盟R3nzSkin内存换肤:终极安全换肤指南
  • MobaXterm实战:一站式打通串口调试与远程SSH管理