theme: cyanosis
前言
本系列分享前两期分别讲述了
本期分享我们一起来学习LangChain最核心思想——搭建Chains,也就是所谓链式调用的核心方法。顾名思义,LangChain之所以被称为LangChain,其核心概念就是Chain。只要掌握了Chain的搭建方法,我们就掌握了LangChain搭建智能体的核心技巧。
本系列分享是笔者结合自己学习工作中使用LangChain&LangGraph经验倾心编写的,力求帮助大家体系化快速掌握LangChain&LangGraph AI Agent智能体开发的技能!大家感兴趣可以关注笔者优快云账号和系列专栏。更可关注笔者同名微信公众号: 大模型真好玩, 每期分享涉及的代码均可在公众号私信: LangChain智能体开发获得。
一、LangChain链式调用架构
链式调用位于LangChain三层核心架构中的中间层——工作流API抽象层。Chain翻译成中文就是“链”,我们将大模型、相关工具等作为组件,链就是负责将这些组件按照某一种逻辑,顺序组合成一个流水线的方式。比如我们要构建一个简单的问答链,就需要把大模型组件和标准输出组件用链串联起来。下面笔者将通过由易到难的示例向大家介绍常用的链式调用模式:

二、LangChain链搭建代码实战
2.1 尝试搭建一个简单链
第一个示例先尝试搭建一个简单链,将模型“输出结果”过滤为一个纯字符串格式:
from langchain.chat_models import init_chat_model
from langchain_core.output_parsers import StrOutputParser # 导入标准输出组件
model = init_chat_model(
model="Qwen/Qwen3-8B",
model_provider="openai",
base_url="https://api.siliconflow.cn/v1/",
api_key="", #你注册的硅基流动api_key
)
# 搭建链条,把model和字符串输出解析器组件连接在一起
basic_qa_chain = model | StrOutputParser()
# 查看输出结果
question = "你好,请你介绍一下你自己。"
result = basic_qa_chain.invoke(question)
print(result)

上图是以上代码执行结果,可以看到此时的result不再是包含模型各种调用信息的AIMessage对象,而是纯粹的模型响应的字符串结果。这里用到的StrOutputParser()实际上就是用于构成LangChain中一个链条的一个对象,其核心功能是用于处理模型输出结果。同时我们也发现LangChain中搭建链的方法十分简单,只需将不同组件通过|符号串联即可。
2.2 加入提示词模板创建链
接下来尝试为简单的链流程增加一个提示词模板,可以借助ChatPromptTemplate非常便捷的将一个提示词模板打造为组件,同样以链的形式加入当前流程中:
from langchain.chat_models import init_chat_model
from langchain.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
model = init_chat_model(
model="Qwen/Qwen3-8B",
model_provider="openai",
base_url="https://api.siliconflow.cn/v1/",
api_key="", #你注册硅基流动api_key
)
prompt_template = ChatPromptTemplate([
("system", "你是一个乐意助人的助手,请根据用户的问题给出回答"),

最低0.47元/天 解锁文章
8332

被折叠的 条评论
为什么被折叠?



