langgraph4j/langgraph4j
🚀 LangGraph for Java. A library for develop AI Agentic Architectures in the Java ecosystem. Designed to work seamlessly with both Langchain4j and Spring AI.
What it solves
LangGraph4j 提供了一種在 Java 中構建複雜、有狀態、多代理 AI 應用的方法。它解決了傳統線性工作流程的限制,允許開發者建立循環圖形,使代理、工具與自訂邏輯能夠回環、重試任務或協作,同時在整個過程中維持共享記憶(狀態)。
How it works
此函式庫使用圖形架構,將應用邏輯拆分為:
- StateGraph:定義節點與邊的主要結構。
- AgentState:在節點之間傳遞的共享類似映射的物件。它使用「reducers」決定如何將新資料(如聊天訊息)合併到現有狀態中。
- Nodes:執行個別工作(函式或類別)的單位,接收當前狀態、執行動作(例如呼叫 LLM),並回傳對狀態的更新。
- Edges:定義流程的連接器。「Normal edges」為無條件轉換,而「Conditional edges」則根據當前狀態的邏輯動態決定下一個要訪問的節點。
- Compilation:圖形會被驗證並編譯成不可變的
CompiledGraph以供執行。
Who it’s for
適合使用 Java 開發 AI 代理或多代理系統的開發者,想要以結構化方式管理狀態與控制流程,尤其是已經使用 LangChain4j 或 Spring AI 等框架的使用者。
Highlights
- Cyclical Workflows:支援迴圈,對於代理行為(如自我校正或迭代精煉)至關重要。
- Ckeckpointing:能在任意時點保存與還原圖形的狀態,以便除錯或恢復長時間執行的程序。
- Persistence:內建支援 MySQL、PostgreSQL、Redis、OracleDB、DynamoDB、CockroachDB 與 Hazelcast 的儲存器。
- Visual Debugging:包含「LangGraph4j Studio」——一個用於視覺化檢查與執行圖形的 Web UI。
- Framework Integration:原生支援 LangChain4j 與 Spring AI。