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 开发者设计,他们希望以结构化方式管理智能体协作、记忆和控制流,构建复杂的 LLM 驱动应用。

主要亮点

  • 循环图支持:支持循环和迭代式智能体推理。
  • 状态管理:共享的、基于 reducer 的状态,实现节点间的上下文感知。
  • 持久化:内置对多种数据库后端的支持,用于保存和恢复图状态。
  • 可视化调试:包含一个 Studio Web UI,用于可视化检查和运行图。
  • 框架集成:与 LangChain4j 和 Spring AI 无缝集成。
  • 异步/流式处理:支持非阻塞操作和从 LLM 获取流式结果。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目