2025年LangChain(V0.3)开发与综合案例

LangChain安装

要开始使用LangChain,首先需要安装相关的库:

pip install langchain
pip install langchain-openai
pip install langchain-community
pip install langgraph,grandalf

与大模型的集成

LangChain支持各种大模型,包括OpenAI的模型、智谱的GLM等,只需更改几个参数即可切换不同的模型:

llm = ChatOpenAI(
    model="glm-4-plus",
    temperature=1.0,
    openai_api_key="your_api_key",
    openai_api_base="your_api_base_url"
)

LangChain的核心概念

提示词模板

在LangChain中,提示词通常通过模板定义,支持参数化,方便动态生成提示词。两个方式的目的都是创建一个提示词模板,可以根据个人喜好选择其中一种使用。
提示词模板有两种创建方式:

1. from_template方式

使用对象方式定义模板。

from_messages方式(更常用)

json方式定义模板:

prompt = ChatPromptTemplate.from_messages([
    ("system", "请把下面的语句翻译成{language}"),
    ("user", "{user_text}")
])

LangChain Expression Language (LCEL)

LCEL允许开发者以声明式的方式链接各个组件,使用竖线"|"操作符来连接不同的组件,创建复杂的处理流程,比如某节点循环、重复等。

串行/并行
  1. 串行执行:节点按顺序依次执行,前一个节点的输出作为后一个节点的输入。这是最常见的模式,如我们之前示例中的链式结构。

  2. 并行执行:多个节点同时接收相同的输入,各自处理后再汇总结果。这对于需要从不同角度分析同一数据的场景特别有用。

# 串行执行示例
serial_chain = node1 | node2 | node3

# 并行执行示例
parallel_chain = (node1 & node2 & node3) | combine_results

链可能会越来越复杂,以下可以可视化链

# 可视化链结构
chain.get_graph().print_ascii()

在这里插入图片描述

使用串行链案例

# 定义大模型
llm = ChatOpenAI(
    model="glm-4-plus",
    temperature=1.0,
    openai_api_key="your_api_key", 
    openai_api_base="your_api_base_url"
)

# 创建提示词模板
prompt = ChatPromptTemplate.from_messages([
    ("system", "请把下面的语句翻译成{language}"),
    ("history", MessagePlaceholder(variable_name="history")),
    ("user", "{user_text}")
])

# 创建链
chain = prompt | llm | StrOutputParser()

# 调用链并传参
result = chain.invoke({
   
   
    "language": "日文",
    "user_text": "
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

非常大模型

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

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

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

打赏作者

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

抵扣说明:

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

余额充值