admin 管理员组

文章数量: 1184232

文章目录

  • 前言
  • 一、基本概念
  • 二、安装依赖
    • 1、安装LangChain包
    • 2、安装LangGraph包
    • 3、安装大模型依赖
  • 三、初始化大模型
    • 1、连接大模型
    • 2、定义工具
    • 3、绑定工具集
  • 四、定义状态图
    • 1、定义状态
    • 2、创建状态图
    • 3、定义节点和边
    • 4、编译状态图
    • 5、可视化状态图
    • 6、运行测试图
  • 写在最后


前言

  StateGraph 类是主要的图类。它通过用户定义的 State 对象进行参数化。要构建图,首先定义状态,然后添加节点和边,然后编译它。编译是一个非常简单的步骤。它对图的结构进行一些基本检查(例如,没有孤立节点)。可以在此处指定运行时参数,例如检查点和断点。所以,必须在使用图之前对其进行编译。

一、基本概念

  LangGraph的核心是将代理工作流建模为图。可以使用三个关键组件来定义代理的行为:

  1. State:一个共享数据结构,表示应用程序的当前快照。它可以是任何 Python 类型,但通常是 TypedDictPydantic BaseModel
  2. Nodes:编码代理逻辑的 Python 函数。它们接收当前的 State 作为输入,执行一些计算或副作用,并返回一个更新的 State
  3. EdgesPython 函数,根据当前的 State 决定接下来执行哪个 Node。它们可以是条件分支或固定转换。

  通过组合 NodesEdges,您可以创建复杂、循环的工作流,使 State 随时间演进。因此,真正的力量来自于 LangGraph 如何管理 State

二、安装依赖

1、安装LangChain包

pip install --upgrade langchain langchain-community
  • langchain:主框架和标准组件。这是最常用的包,包含了核心的抽象、标准实现和常用工具。
  • langchain-community:第三方集成。包含了所有与第三方服务(如OpenAI, Anthropic, Pinecone, Chroma等)的集成代码。这些集成由社区维护,稳定性可能不如核心包。

2、安装LangGraph包

pip install -upgrade langgraph
  • 预构建组件,用于创建代理。

3、安装大模型依赖

  文中使用的大语言模型-智谱AI,需要安装如下依赖:

pip install --upgrade httpx httpx-sse PyJWT

三、初始化大模型

1、连接大模型

from langchain_community.chat_models import ChatZhipuAI

llm = ChatZhipuAI(
    model="glm-4-flash-250414",
    temperature=0.7   
)

2、定义工具

from langchain.tools import tool

本文标签: 状态 python langgraph StateGraph