def classify(input: str) -> str:
# 判斷輸入內(nèi)容類型
return "math" if "calculate" in input else "qa"

2. Edge(邊)

邊表示從一個節(jié)點流向另一個節(jié)點的路徑,可以是條件跳轉(zhuǎn)、固定跳轉(zhuǎn)或循環(huán)返回。

graph.add_edge("start", "classifier")
graph.add_conditional_edges("classifier", condition_func, {"math": "math_node", "qa": "qa_node"})

3. State(狀態(tài))

LangGraph 使用狀態(tài)來記錄當(dāng)前執(zhí)行上下文(如 user input、memory、變量),節(jié)點之間可以修改或傳遞狀態(tài)。

{
"input": "What's 2 + 2?",
"history": [],
"result": "4"
}

4. Graph(流程圖)

Graph 是 LangGraph 的核心容器,所有節(jié)點、邊和狀態(tài)都定義在其中。

from langgraph.graph import StateGraph
graph = StateGraph(state_type=MyCustomState)

四、LangGraph 使用流程實戰(zhàn)

示例:構(gòu)建一個數(shù)學(xué)問答 Agent

這個 Agent 將用戶輸入分類為“數(shù)學(xué)”或“問答”,并調(diào)用不同模型回答,最后返回結(jié)果。

步驟 1:定義狀態(tài)結(jié)構(gòu)

from typing import TypedDict

class AgentState(TypedDict):
input: str
result: str

步驟 2:構(gòu)建節(jié)點邏輯

def classifier(state: AgentState) -> str:
if any(k in state["input"] for k in ["calculate", "+", "-", "*"]):
return "math"
return "qa"

def math_node(state: AgentState) -> AgentState:
state["result"] = str(eval(state["input"]))
return state

def qa_node(state: AgentState) -> AgentState:
# 簡化為靜態(tài)回答
state["result"] = "This is a general answer."
return state

步驟 3:構(gòu)建流程圖

from langgraph.graph import StateGraph

builder = StateGraph(AgentState)

builder.add_node("classifier", classifier)
builder.add_node("math_node", math_node)
builder.add_node("qa_node", qa_node)

builder.set_entry_point("classifier")
builder.add_conditional_edges("classifier", classifier, {"math": "math_node", "qa": "qa_node"})

graph = builder.compile()

步驟 4:執(zhí)行流程

result = graph.invoke({"input": "2 + 2"})
print(result["result"]) # 輸出:4

這個案例雖然簡單,但它已經(jīng)展現(xiàn)了 LangGraph 的核心價值:通過節(jié)點 + 狀態(tài) + 路徑的組合,實現(xiàn)復(fù)雜語言任務(wù)的有序執(zhí)行

五、LangGraph 應(yīng)用場景

1. 多 Agent 協(xié)同對話系統(tǒng)

可實現(xiàn)多個角色(如“分析師”、“總結(jié)者”、“翻譯者”)在流程中協(xié)同工作,通過狀態(tài)圖配置交互順序和條件。

2. AI 助理工具自動化流程

如客戶支持系統(tǒng)中,用戶輸入后由分類器判斷是“技術(shù)支持”、“售后”、“咨詢”,進(jìn)入不同模塊自動應(yīng)答。

3. 長上下文記憶系統(tǒng)

使用 LangGraph 管理記憶更新邏輯,比如每個步驟后調(diào)用 memory_node 存儲關(guān)鍵上下文,保持對話狀態(tài)。

4. 代碼生成與執(zhí)行系統(tǒng)

編寫、審查、執(zhí)行代碼各為不同節(jié)點,并使用流程圖控制代碼生命周期管理。

六、LangGraph 與傳統(tǒng)工作流框架的比較

框架特點是否支持 LLM異步支持狀態(tài)控制分支邏輯
LangGraph基于 LangChain 狀態(tài)圖????
Apache Airflow定時任務(wù)調(diào)度框架????
PrefectPython 工作流控制??部分?
Temporal分布式工作流????

LangGraph 是目前唯一專注于語言模型 Agent 級流程控制的圖形框架,更適合 LLM 的應(yīng)用開發(fā)。

七、LangGraph 技術(shù)發(fā)展趨勢

  1. 多模型融合支持:未來將更好地集成多種語言模型,如 GPT-4o、Claude 3、Gemini 1.5。
  2. 可視化工具鏈:將支持可視化圖構(gòu)建和運(yùn)行軌跡展示,便于調(diào)試和監(jiān)控。
  3. 企業(yè)級流程協(xié)同:LangGraph 正朝著支持 API 接入、權(quán)限管理、數(shù)據(jù)持久化等方向拓展。
  4. 自動化部署支持:計劃支持一鍵部署 LangGraph 工作流到云服務(wù)或本地微服務(wù)集群。

八、常見問題解答(FAQ)

Q1:LangGraph 可以脫離 LangChain 使用嗎?

A:目前不可以,LangGraph 是 LangChain 的高級功能擴(kuò)展,需依賴其 Tool、Agent、Prompt 等組件。

Q2:LangGraph 支持循環(huán)流程嗎?

A:支持,可通過條件邊或跳轉(zhuǎn)邊將節(jié)點返回到前一節(jié)點,實現(xiàn)循環(huán)。

Q3:LangGraph 能用于生產(chǎn)環(huán)境嗎?

A:可以,LangGraph 已在多家公司用于構(gòu)建自動對話、AI流程管理、智能客服等系統(tǒng)。

九、結(jié)語:LangGraph 是未來 AI 應(yīng)用的流程大腦

在 LLM 應(yīng)用開發(fā)日趨復(fù)雜的今天,僅靠順序調(diào)用語言模型已無法滿足需求。LangGraph 工具的出現(xiàn),標(biāo)志著 從單步推理到多步驟流程管理 的過渡。

它讓我們可以用圖形化方式管理 Agent 系統(tǒng)中的每一次調(diào)用、判斷、協(xié)作與記憶,是打造高級 AI 系統(tǒng)不可或缺的“流程大腦”。

如果你正在開發(fā)涉及多步驟邏輯的 AI 應(yīng)用,不妨嘗試引入 LangGraph 工具,讓你的語言模型真正具備“流程智慧”。

參考資料:

上一篇:

繞過API,直接部署數(shù)據(jù)庫 - Fly.io

下一篇:

Uber Ride API 開發(fā)指南:實現(xiàn)價格估算、路徑調(diào)度與司機(jī)管理系統(tǒng)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費