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

最新版LangChain 1.0快速入门介绍

最新版LangChain 1.0快速入门介绍

在这里插入图片描述

LangChain 1.0 是一个里程碑式的重大更新,标志着该框架进入了成熟稳定的发展阶段。此版本的核心目标是简化开发流程、统一API标准,并增强生产环境下的可控性与稳定性

为了让你对本次更新的核心变化有一个快速的全局了解,我准备了下述表格。

维度LangChain 旧版 (0.x)LangChain 1.0核心价值
架构理念链式(Chain)为主,架构臃肿**智能体(Agent)**为核心,全面统一和简化聚焦主流场景,降低认知负担
核心API几十种细分的Agent创建API统一为 create_agent() 单一函数简化构建流程,10行代码创建生产级Agent
底层引擎LangChain与LangGraph独立LangGraph作为底层运行时,LangChain封装上层API获得状态管理、持久化等生产级能力
可控性传统ReAct智能体如同黑箱,难以干预引入Middleware(中间件)机制,支持全流程干预打破黑箱,实现日志、审计、人为审批等精细控制
消息格式多样,未完全统一标准化消息块 (如HumanMessage, AIMessage)提升组件间的兼容性和稳定性

一、 🏗️ 架构与API革新

1.1 统一的智能体创建接口:create_agent()

LangChain 1.0 将过去繁杂的Agent创建方式统一为一个核心函数 create_agent(),这极大地简化了开发。

主要特点:

  • 声明式构建:通过提供模型、工具和系统提示词,即可快速配置一个功能完整的智能体。
  • 生产就绪:底层基于LangGraph,自动集成了状态管理、错误处理和流式输出等生产级能力。
  • 高度抽象:开发者无需关注复杂的ReAct循环(推理→行动→观察)细节,可以更专注于业务逻辑。

代码示例:

from langchain.agents import create_agent
from langchain.tools import tool
from langchain_deepseek import ChatDeepSeek
from langchain_community.tools.tavily_search import TavilySearchResults
from dotenv import load_dotenv
load_dotenv()# https://www.tavily.com/   .env TAVILY_API_KEY
web_search = TavilySearchResults(max_results=2)
model = ChatDeepSeek(model="deepseek-chat")# 定义查询订单状态的函数
# def query_order_status(order_id):
#     """查询订单状态,根据订单号返回订单的发货和送达信息。"""
#     if order_id == "1024":
#         return "订单 1024 的状态是:已发货,预计送达时间是 3-5 个工作日。"
#     else:
#         return f"未找到订单 {order_id} 的信息,请检查订单号是否正确。"@tool("query_order_status", description="根据订单号查询订单状态")
def query_order_status(order_id: str) -> str:if order_id == "1024":return "订单 1024 的状态是:已发货,预计送达时间是 3-5 个工作日。"else:return f"未找到订单 {order_id} 的信息,请检查订单号是否正确。"# 定义退款政策说明函数
def refund_policy(keyword):"""查询退款政策,返回退款规则说明。"""print("keyword = ", keyword)return "我们的退款政策是:在购买后7天内可以申请全额退款,需提供购买凭证。"agent = create_agent(# model="openai:gpt-4o",  # 支持字符串标识或模型实例[citation:3]model=model,  # 支持字符串标识或模型实例[citation:3]tools=[query_order_status, refund_policy, web_search],  # 赋予智能体工具调用能力system_prompt="你是一个专业的客服助手,帮助用户查询订单信息还可以调用工具帮助用户解决问题"  # 定义角色和行为[citation:3]
)# 调用智能体
result = agent.invoke({"messages": [{"role": "user", "content": "请帮我查询2024年诺贝尔物理学奖得主是谁??"}]
})print(result)
print(result['messages'][-1].content)
1.2 与LangGraph的深度整合

LangGraph在1.0版本中退居底层,作为智能体的运行时引擎。

  • 上层封装:91%的常见场景无需直接调用复杂的LangGraph API,使用 create_agent() 即可。
  • 底层能力继承:智能体自动具备了LangGraph的持久化、中断恢复和复杂状态机管理等强大功能。

二、 ⚙️ 核心新功能与机制

2.1 Middleware(中间件)机制:打破智能体黑箱

Middleware是LangChain 1.0最核心的变革之一,它允许开发者在智能体的执行流程中注入自定义逻辑,实现对模型调用、工具执行等关键环节的精细控制。

官方提供的中间件示例:

中间件类型功能说明应用场景
PII Detection检测和处理敏感信息(如邮箱、信用卡号)数据脱敏、合规审计
Summarization自动总结压缩过长的对话历史管理上下文长度,节省Token
Tool Retry在工具调用失败时自动重试提升系统鲁棒性和容错能力

代码示例:使用中间件

from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain_core.tools import tool
from langchain.agents.middleware import (PIIMiddleware,SummarizationMiddleware,ToolRetryMiddleware
)load_dotenv()# 定义一个简单的工具函数
@tool("query_order_status", description="根据订单号查询订单状态")
def query_order_status(order_id: str) -> str:if order_id == "1024":return "订单 1024 的状态是:已发货,预计送达时间是 3-5 个工作日。"else:return f"未找到订单 {order_id} 的信息,请检查订单号是否正确。"# 创建智能体
agent = create_agent(model="openai:gpt-4o",tools=[query_order_status],middleware=[# 脱敏中间件PIIMiddleware(pii_type="email",strategy="redact",apply_to_input=True),# 自动总结中间件SummarizationMiddleware(model="openai:gpt-4o-mini",max_tokens_before_summary=4000,messages_to_keep=20),# 工具调用失败自动重试ToolRetryMiddleware(max_retries=3,backoff_factor=2.0,initial_delay=1.0,max_delay=60.0,jitter=True),]
)# 测试运行
if __name__ == "__main__":result = agent.invoke({"messages": [{"role": "user", "content": "帮我查一下订单 1024 的状态"}]})print("🔹 AI 回复:", result['messages'][-1].content)
2.2 标准化消息块与统一接口

1.0版本定义了严格的消息格式(如HumanMessageAIMessageToolMessage),确保了信息在智能体内部各组件间传递的无歧义性和可靠性。统一的接口也使第三方工具的集成变得更加简单和规范。

三、 🛠️ 开发体验与生产部署

3.1 增强的工具套件

LangChain 1.0整合并完善了其工具链,为智能体的开发、调试和部署提供全方位支持。

工具名称核心功能适用场景
LangGraph Studio可视化查看和调试智能体的运行流程与状态开发调试、性能优化
LangSmith追踪智能体的运行状态、日志和性能指标生产环境监控、问题排查
LangGraph Clip一键部署开发完成的智能体快速上线与测试
3.2 更友好的学习路径
  • API稳定承诺:1.0版本的API将长期稳定,直至2.0版本发布,适合长期项目的开发。
  • 丰富的社区资源:官方及社区提供了大量针对1.0版本的教程与指南,帮助开发者快速上手。

四、 📝 旧版本迁移指南

从LangChain 0.x版本迁移至1.0,主要需要进行以下调整:

  1. Agent创建方式:将所有使用旧版Agent创建函数(如initialize_agent)的代码,改为使用统一的create_agent()函数。
  2. 导入路径:注意官方已将许多集成组件移至langchain-community包,需按照警告提示更新导入语句。
  3. 方法调用:旧版中如predictpredict_messages等方法已被弃用,应统一改为使用invoke方法。

五、 💎 总结

LangChain 1.0通过架构统一、功能强化和体验优化,成功地将框架从一个快速演进的工具升级为一个面向生产环境的稳定平台。

  • 对于新项目:强烈建议直接基于1.0版本进行开发,充分利用其简化的API和强大的中间件机制。
  • 对于现有项目:建议评估迁移成本,并制定计划升级至1.0版本,以享受其长期稳定性和新特性带来的好处。
http://www.dtcms.com/a/611530.html

相关文章:

  • 广州开发网站服务设计一个电商网站的首页
  • 单页网站开发网站开发初学
  • 怎样建公司网站有什么网站可以做宣传图片
  • 易缴缴:开启注册资金实缴无忧新时代
  • Java基础——数组1
  • 关于做公司网站成都企业管理培训课程
  • 新开传奇手游发布网站网站首页设计多少钱
  • 设计企业门户网站org是国外的网站吗
  • ACL 2025论文分享|一种同时支持文字、语音、草图、艺术图和低分辨率图等多模态内容检索的新框架Uni-Retrieval
  • 免费在线网站xp系统建设网站
  • 专利协会网站建设方案cpu占用超出网站空间的分配值
  • Kubernetes 证书以及证书续期、过期处理
  • 单页面竞价网站厦门湖里区建设局网站
  • YOLOv5 详细讲解文档
  • 计算机网络技术网站开发优化好的网站
  • 网站备案账号是什么石家庄微网站建设
  • 营销网站和展示型网站维护一个网站
  • 西安网站建设制作专业公司创建公司为什么必须三个人
  • 广安做网站公司海口网络公司网站建设
  • 第二部分(下):套接字
  • seo网站优化培训多少价格中国建设银行app官方下载
  • 临沂网站建设那家好建设网站需要专业
  • 软考~系统规划与管理师考试——真题篇——章节——第18章 智慧城市发展规划——纯享题目版
  • 站长工具seo综合查询怎么使用的精品网站建设费用 找磐石网络一流
  • 做宣传图片的网站微信小程序开发视频完整教程
  • Linux环境变量持久化完全指南
  • 电商网站前端制作分工西宁做网站需要多少钱
  • dede鲜花网站模板下载石家庄企业网站制作哪家好
  • 织梦网站搬家教程怎么百度推广
  • Linux网络数据链路层