大数跨境
0
0

LangChain1.0快速体验

LangChain1.0快速体验 PyTorch研习社
2025-11-27
0
导读:LangChain1.0快速体验

在过去的几天,我一直在思考如何以更简单更高效地形式学习 LangChain 和 LangGraph 1.0 的特性,好在让我探索出了一条道路:在做中学!前几天我发表了一篇关于 AgengHub 的文章《FastAPI+Streamlit打造一套智能体应用GUI展示平台》,这篇文章中介绍的 AgentHub 将是我们学习 LangChain/LangGraph 的实战项目,而本文所属系列的文章将会是侧重于理论的学习。我计划是二者可以相辅相成。

Agents 将语言模型与工具结合,用来创建能够对任务进行推理、决定使用哪些工具,并通过迭代方式完成解决方案的系统。

ReAct Agent 采用循环工作模式:当模型收到用户请求后,先进行推理,然后决定调用工具执行动作,工具返回观察结果(observation),接着模型再次推理——要么直接给出最终答案结束,要么继续调用工具直到达到迭代次数上限,形成闭环。

ReAct 是 Reasoning(推理) + Acting(行动)的缩写。

create_agent 提供了一个可投入生产环境使用的 Agent 实现。

create_agent 使用 LangGraph 构建一个基于图的 Agent 运行时。一个图由节点(步骤)和边(连接)组成,用来定义 agent 如何处理信息。Agent 会在图中移动,执行诸如模型节点(调用模型)、工具节点(执行工具)或中间件等节点。

我们将在本文学习使用 create_agent 搭建一个 RAG Agent。

初始化模型

首先我定义了 Agent 的推理引擎—— LLM。

我习惯于使用以 OpenAI API 兼容格式调用阿里云提供的千问系列模型。

这里的几个参数为:

  • model:要使用的模型名称,比如 qwen3-max

  • temperature:控制模型输出多样性,取值范围为0-1,数值越高,模型输出越多样

  • base_url:模型提供商的 API 地址

  • api_key:访问密钥,本地部署的模型不需要这个参数

其次我初始化了嵌入模型(Embedding Model),嵌入模型将文本、图像等非结构化数据转化为高维向量,使计算机能够理解内容之间的语义相似度,从而支持搜索、推荐、聚类、问答等核心功能。

定义工具

现在我们可以定义工具,工具赋予 Agent 执行动作的能力。Agent 超越了简单的“仅模型+工具绑定”模式,提供了以下能力:

  • 一次提示触发多个工具的顺序调用

  • 在合适的情况下进行并行工具调用

  • 根据前一步的结果动态选择工具

  • 工具重试逻辑与错误处理

  • 跨工具调用时的状态持久化

可以看到定义工具非常简单——在常规的 Python 函数基础上加一个@tool 装饰器。

定义完工具后我将工具添加到了工具列表 tools 中。

定义系统提示词

创建 Agent

现在我们可以创建智能体了。

运行 Agent

就是这样,非常简单。

本文源码:

https://github.com/realyinchen/learn_langchain_langgraph/blob/main/langchain/quickstart.ipynb


【声明】内容源于网络
0
0
PyTorch研习社
打破知识壁垒,做一名知识的传播者
内容 811
粉丝 0
PyTorch研习社 打破知识壁垒,做一名知识的传播者
总阅读45
粉丝0
内容811