深入浅出LangChain AI Agent智能体开发教程(三)—LangChain核心概念“链”


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", "你是一个乐意助人的助手,请根据用户的问题给出回答"),
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大模型真好玩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值