网站首页 > 开源技术 正文
本文给大家介绍一款新的开源好工具——LangGraph ,它结合了 LangChain 的强大生态和图结构的灵活性,为多智能体系统的构建提供了新的可能。
什么是 LangGraph?
LangGraph 是一个基于图(Graph)结构的多智能体编排框架,建立在 LangChain 基础上。它允许开发者以节点(Node)和边(Edge)的形式定义智能体之间的流程和交互,从而更加清晰和可控地构建复杂的对话或任务系统。
简单来说:LangGraph = LangChain + 有状态图 + 多智能体协作机制
LangGraph 的核心作用
1、多智能体协作建模:可视化和结构化地定义多个 LLM Agents 之间的交互流程。
2、状态管理:通过图结构管理每个节点的上下文状态,保持任务一致性。
3、易于调试和维护:每个智能体的行为都有明确的节点标识,便于追踪和优化。
4、复用性强:节点可以灵活组合,构建不同应用场景的工作流。
使用场景举例
自动化问答系统:多个专家智能体负责不同知识域,协同完成复杂问题的解答。
智能客服系统:根据用户需求动态切换客服 Agent(如售前、售后、技术支持等)。
编程助手:拆分代码审查、生成、测试等多个子任务给不同智能体。
法律、医疗等专业咨询系统:每个 Agent 负责不同法规/症状的分析。
如何使用 LangGraph
下面是一个简单的开发例子,展示了 LangGraph 如何构建一个多智能体系统:
安装依赖
pip install langgraph langchain openai
定义 Agents(使用 LangChain)
from langchain.chat_models import ChatOpenAI
from langchain.agents import create_tool_agent, ToolAgent
llm = ChatOpenAI(model="gpt-4")
agent1 = ToolAgent(name="math_solver", tools=[], llm=llm)
agent2 = ToolAgent(name="translator", tools=[], llm=llm)
构建 LangGraph 图结构
from langgraph.graph import StateGraph
graph = StateGraph()
graph.add_node("math", agent1)
graph.add_node("translate", agent2)
graph.set_entry_point("math")
graph.set_next("math", "translate")
workflow = graph.compile()
执行流程
result = workflow.invoke({"input": "请帮我计算 2+2,并翻译成英文"})
print(result)
输出将包括两步:先由 math_solver 计算结果为 4,再由 translator 翻译为 “Four”。
小结
LangGraph 让构建复杂的 LLM 多智能体系统变得简单而可控,特别适合需要处理多阶段、多角色任务的应用场景。它不仅具备图结构的灵活性,还继承了 LangChain 的生态优势,是 LLM 开发者值得尝试的新工具。
Github地址 :
https://github.com/langchain-ai/langgraph
如果你觉得 LangGraph 有趣,欢迎评论区交流你的使用体验或构想的项目应用场景!
非常感谢大家的点赞、收藏以及关注!
猜你喜欢
- 2025-05-03 开发人员关注热点:开源成9个技术首选
- 2025-05-03 写一句话,GPT 帮我生成整个项目?实测爆火开源工具 gpt-engineer
- 2024-08-26 开源:一个能让你学会算法的开源项目
- 2024-08-26 手机跑大模型提速4-5倍!微软亚研院开源新技术,有CPU就行
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)