langgraph4j/langgraph4j
🚀 LangGraph for Java is a library for Graph Engineering, designed to build sophisticated AI agentic architectures within the Java ecosystem. It works seamlessly with both Langchain4j and Spring AI.
解決的問題
LangGraph4j 提供了一種在 Java 中建立狀態化多智慧體 AI 應用程式的途徑。它克服了傳統有向無環圖(DAG)的限制,支援循環圖,這對於智慧體工作流程至關重要,例如 AI 可能需要回溯到先前步驟、重試任務或請求釐清。
工作原理
該程式庫使用圖形化方法來定義 AI 工作流程:
- StateGraph:開發者定義節點(動作)和邊(轉移)的主要結構。
- AgentState:在節點之間共享的狀態(基本上是個映射)。Reducer 決定新資料如何合併到此狀態中(例如,覆蓋或附加至清單)。
- 節點:接收目前狀態、執行運算(如呼叫 LLM),並回傳狀態更新的獨立邏輯單元。
- 邊:控制流程。一般邊是無條件的,而條件邊則使用邏輯動態決定根據目前狀態的下一個節點。
- 持久化:透過
CheckpointSaver,圖的狀態可儲存至各種資料庫(MySQL、PostgreSQL、Redis 等),支援長時間執行的流程,並可恢復或除錯工作流程。
適用對象
專為使用 LangChain4j 或 Spring AI 等框架的 Java 開發者設計,他們希望以結構化方式管理智慧體協作、記憶與控制流程,特別是已使用這些框架的開發者。
主要特色
- 循環圖支援:支援迴圈與迭代式智慧體推理。
- 狀態管理:共享、基於 reducer 的狀態,實現節點間的上下文感知。
- 持久化:內建支援多種資料庫後端,用於儲存與恢復圖狀態。
- 視覺化除錯:內建 Studio Web UI,可用於視覺化檢視與執行圖。
- 框架整合:與 LangChain4j 和 Spring AI 無縫整合。
- 非同步/串流:支援非阻塞操作與從 LLM 取得串流結果。
相關
- 專案
- 專案
- 專案
- 專案
- 專案