LangGraph

LangGraph 核心模型就是:节点 (Node) + 边 (Edge)

  • 节点 Node:就是一段要执行的代码 / 函数(可以调用 AI、可以调用接口、可以调用外部程序)
  • 边 Edge:规定:跑完 A 节点之后,下一步跑哪个节点
    • 普通边:A 跑完固定去 B
    • 条件边:A 跑完,看数据状态,选不同下一站(if‑else 分支)

你只画好 "流程图",它不会自己跑;你调用 graph.invoke(数据),它才开始顺着边跑节点。

cpp 复制代码
# ---------------------- 搭建LangGraph流程图(棋盘) ----------------------
builder = StateGraph(MyState)

# 把上面写好的函数注册成图里面的节点(棋盘上的格子)
builder.add_node("ai_think_node", ai_think)
builder.add_node("tool_node", mock_tool)
builder.add_node("answer_node", ai_make_answer)

# 设置流程起点:一开始先跑 ai_think_node
builder.set_entry_point("ai_think_node")

# 条件分支:AI思考完,判断走哪条路
def route_after_think(state: MyState):
    if state["ai_thought"] == "需要调用工具":
        return "go_tool"    # 去调用工具
    else:
        return "go_end"     # 直接结束

builder.add_conditional_edges(
    source="ai_think_node",
    path=route_after_think,
    path_map={
        "go_tool": "tool_node",
        "go_end": END
    }
)

# 工具跑完之后,走到ai整理答案,整理完结束
builder.add_edge("tool_node", "answer_node")
builder.add_edge("answer_node", END)

# 把整个棋盘编译好,得到可运行的对象
graph = builder.compile()

如果没有 LangGraph,你自己手写代码要这么写:

cpp 复制代码
# 没有LangGraph,自己写
result = ai_think(...)
if result["ai_thought"] == "需要调用工具":
    result = mock_tool(result)
    result = ai_make_answer(result)
# 如果以后要加循环、加分支、中途暂停,你就要自己写大量if、while,自己传递变量state

LangGraph 就是帮你把:节点注册、跳转逻辑、状态数据传递、分支判断全部封装好了。你只需要定义节点函数,然后告诉它 "A 之后,如果 XX 条件就去 B,否则去 C"。

相关推荐
Shockang10 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang10 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab11 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源