AI创想

标题: LangGraph教程4:LangGraph核心组件 [打印本页]

作者: AI小编    时间: 昨天 21:00
标题: LangGraph教程4:LangGraph核心组件
作者:Cachel wood
文章目录


LangGraph 是一个用于构建有状态的多参与者应用程序的库,利用 LLM 创建代理和多代理工作流。与其他 LLM 框架相比,它提供了以下核心优势:循环性、可控性和持久性。LangGraph 允许您定义涉及循环的流程,这对于大多数代理架构至关重要,使其与基于 DAG 的解决方案区别开来。作为一个非常底层的框架,它提供了对应用程序流和状态的细粒度控制,这对于创建可靠的代理至关重要。此外,LangGraph 包含内置的持久性,支持先进的人机协作和记忆特性。
LangGraph 的灵感来源于 Pregel 和 Apache Beam。公共接口受 NetworkX 的启发。LangGraph 是由 LangChain Inc 开发的,它是 LangChain 的创建者,但可以在不使用 LangChain 的情况下使用。
LangGraph 平台 是用于部署 LangGraph 代理的基础设施。它是一个商业解决方案,用于将代理应用程序部署到生产环境,构建于开源的 LangGraph 框架之上。LangGraph 平台由多个组件组成,这些组件协同工作以支持 LangGraph 应用程序的开发、部署、调试和监控:LangGraph 服务器(API)、LangGraph SDK(API 客户端)、LangGraph CLI(构建服务器的命令行工具)、LangGraph Studio(用户界面/调试器)。
官方文档地址:https://langchain-ai.github.io/langgraph/
中文文档地址:https://www.aidoczh.com/langgraph/
主要特性

LangGraph 平台

LangGraph 平台是一个商业解决方案,用于将代理应用程序部署到生产环境,构建于开源的 LangGraph 框架之上。 以下是一些在复杂部署中常见的问题,LangGraph 平台解决了这些问题:
(, 下载次数: 0)


Graph(图)

LangGraph 的核心是将代理工作流建模为图。你可以使用三个关键组件来定义代理的行为
LangGraph 的底层图算法使用 消息传递 来定义一个通用程序。当一个节点完成其操作时,它会沿着一条或多条边向其他节点发送消息。这些接收节点然后执行其函数,将结果消息传递给下一组节点,并且该过程继续进行。受到 Google 的 Pregel 系统的启发,该程序以离散的“超级步骤”进行。
超级步骤可以被认为是图节点上的单个迭代。并行运行的节点属于同一个超级步骤,而顺序运行的节点则属于不同的超级步骤。在图执行开始时,所有节点都处于 inactive 状态。当节点在任何传入边(或“通道”)上收到新消息(状态)时,它将变为 active 状态。然后,活动节点运行其函数并响应更新。在每个超级步骤结束时,没有传入消息的节点通过将其标记为 inactive 来投票 halt。当所有节点都处于 inactive 状态且没有消息在传输中时,图执行终止。
StateGraph

StateGraph 类是使用的主要图类。它由用户定义的 状态 对象参数化。
  1. from langgraph.graph import StateGraph
  2. from typing_extensions import TypedDict
  3. classMyState(TypedDict)...
  4. graph = StateGraph(MyState)
复制代码
  1. #示例:state_graph.py# 从langgraph.graph模块导入START和StateGraphfrom langgraph.graph import START, StateGraph
  2. # 定义一个节点函数my_node,接收状态和配置,返回新的状态defmy_node(state, config):return{
  3.    
  4.    "x": state["x"]+1,"y": state["y"]+2}# 创建一个状态图构建器builder,使用字典类型作为状态类型
  5. builder = StateGraph(dict)# 向构建器中添加节点my_node,节点名称将自动设置为'my_node'
  6. builder.add_node(my_node)# node name will be 'my_node'# 添加一条边,从START到'my_node'节点
  7. builder.add_edge(START,"my_node")# 编译状态图,生成可执行的图
  8. graph = builder.compile(
复制代码
原文地址:https://blog.csdn.net/weixin_46530492/article/details/149455611




欢迎光临 AI创想 (http://llms-ai.com/) Powered by Discuz! X3.4