Spring AI Alibaba Graph Workflow快速入门示例-创建示例项目

B站影视 电影资讯 2025-09-26 08:51 1

摘要:Spring AI Alibaba Graph 是一款面向 java 开发者的工作流、多智能体框架,用于构建由多个 AI 模型或步骤组成的复杂应用。

Spring AI Alibaba Graph 是一款面向 java 开发者的工作流、多智能体框架,用于构建由多个 AI 模型或步骤组成的复杂应用。

它基于 Spring Boot 生态进行深度集成,提供声明式的 API 来编排工作流,让开发者能将 AI 应用的各个步骤抽象为节点(Node),并通过有向图(Graph)的形式连接这些节点,形成可定制的执行流程。

与传统单 Agent(一问一答式)方案相比,Spring AI Alibaba Graph 支持更复杂的多步骤任务流程,有助于解决单一大模型对复杂任务力不从心的问题。框架核心包括:StateGraph(状态图,用于定义节点和边)、Node(节点,封装具体操作或模型调用)、Edge(边,表示节点间的跳转关系)以及 OverAllState(全局状态,贯穿流程共享数据)。这些设计使开发者能够方便地管理工作流中的状态和逻辑流转。

StateGraph(状态图/工作流图) 定义整个工作流的主类。 支持添加节点(addNode)、边(addEdge、addConditionalEdges)、条件分支、子图等。 可校验图结构,最终编译为 CompiledGraph 以供执行。

Node(节点) 表示工作流中的单个步骤(如模型调用、数据处理等)。 支持异步节点,可封装大模型调用或自定义逻辑。

Edge(边) 表示节点之间的转移关系。 支持条件分支(根据状态决定下一个节点)。

OverAllState(全局状态) 可序列化的全局状态对象,贯穿整个工作流。 支持按 key 注册不同的合并/更新策略(如替换、合并等)。 用于数据传递、断点续跑、人工干预等。

CompiledGraph(已编译图)是 StateGraph 的可执行版本。 负责实际的节点执行、状态流转、结果流式输出。 支持中断、并行节点、检查点等高级特性。

定义 StateGraph:在 Spring 配置类中定义 StateGraph bean,添加各节点(如模型调用、业务逻辑),用边连接。

配置全局状态:通过 OverAllStateFactory 定义初始状态及 key 策略。

执行:编译为 CompiledGraph,驱动状态在节点和边之间流转,条件逻辑决定路径。

集成:通常通过 REST Controller 或 Service 暴露为接口。

要快速体验 Spring AI Alibaba Graph,可以基于官方提供的 WorkflowAutoconfiguration 示例搭建一个完整的工作流应用。下面将以“客户评价处理系统”为例,介绍从项目依赖到运行测试的主要步骤。

1. 添加依赖与配置模型

在 Spring Boot 项目的 Maven pom.xml 中引入 Spring AI Alibaba 的 BOM 以及所需的 Starter 依赖。如引入阿里百炼大模型 DashScope 的 Starter(或选择 OpenAI Starter,具体取决于所用模型平台)。

org.springframework.bootspring-boot-starter-webcom.alibaba.cloud.aispring-ai-alibaba-starter-dashscopecom.alibaba.cloud.aispring-ai-alibaba-graph-coreorg.springframework.bootspring-boot-starter-testtestcom.alibaba.cloud.aispring-ai-alibaba-bom1.0.0.3import组件版本可以选择1.0.0.3或者。

添加依赖后,在项目的 application.properties 中配置模型 API 密钥。例如使用阿里 Qwen 模型时配置 DashScope 服务的访问密钥(如 spring.ai.dashscope.api-key= 。

spring.application.name=simple-graphspring.ai.dashscope.api-key=${DASHSCOPE_API_KEY}

这些配置确保 Spring AI 能自动创建所需的 ChatModel Bean,用于与对应的模型服务通信。

接下来的核心工作是创建工作流StateGraph。

#秋日生活打卡季##NL2SQL#

来源:软件架构

相关推荐