AI - Java之Spring AI Alibaba

一、Spring AI Alibaba

Spring AI Alibaba(SAA) 是一款以 Spring AI 为基础,深度集成百炼平台,支持 ChatBot、工作流、多智能体应用开发模式的 AI 框架。

基于 Spring AI 官方标准封装、阿里云开源的国产 Java 大模型开发框架,专门适配阿里云灵积 DashScope(通义千问 Qwen)、百炼平台,完美兼容 Spring Boot/Spring Cloud 生态Spring AI Alibaba。

在 1.0 版本中,Spring AI Alibaba 提供以下核心能力,让开发者可以快速构建自己的 Agent、Workflow 或 Multi-agent 应用。

  1. **Graph 多智能体框架。**基于 Spring AI Alibaba Graph 开发者可快速构建工作流、多智能体应用,无需关心流程编排、上下文记忆管理等底层实现。通过 Graph 与低代码、自规划智能体结合,为开发者提供从低代码、高代码到零代码构建智能体的更灵活选择。
  2. **通过 AI 生态集成,解决企业智能体落地过程中关心的痛点问题。**Spring AI Alibaba 支持与百炼平台深度集成,提供模型接入、RAG知识库解决方案;支持 ARMS、Langfuse 等可观测产品无缝接入;支持企业级的 MCP 集成,包括 Nacos MCP Registry 分布式注册与发现、自动 Router 路由等。
  3. **探索具备自主规划能力的通用智能体产品与平台。**社区发布了基于 Spring AI Alibaba 框架实现的 JManus 智能体,除了对标 OpenManus 的通用智能体能力外,我们的目标是基于 JManus 探索自主规划在智能体开发方向的应用,为开发者提供从低代码、高代码到零代码构建智能体的更灵活选择。

与 Spring AI 的联系和区别

Spring AI 是 Spring 官方社区维护的开源框架,最初于 2024 年 5 月发布首个 Milestone 版本,在 2025 年 5 月正式发布首个 1.0 GA 版本。Spring AI 侧重 AI 能力构建的底层原子能力抽象以及与 Spring Boot 生态的无缝集成,如模型通信(ChatModel)、提示词(Prompt)、检索增强生成(RAG)、记忆(ChatMemory)、工具(Tool)、模型上下文协议(MCP)等,帮助 Java 开发者快速构建 AI 应用。

自 2024 年 9 月正式开源以来,Spring AI Alibaba 一直与 Spring AI 社区有深度沟通合作,期间发布了多个 Milestone 版本并与很多企业客户建立的深度合作关系。在交流过程中,我们看到了低代码开发模式的优势与限制,随着业务复杂度提升客户从聊天机器人、单智能体到对多智能体架构方案的诉求,也看到了智能体开发从简单 Demo 走向生产上线过程中遇到的困难。

官网 & 文档

  1. Spring AI Alibaba 官网:https://java2ai.com
  2. Spring AI 官方网站:https://spring.io/projects/spring-ai#overview
  3. 阿里云百炼模型平台:https://bailian.console.aliyun.com/console?tab=model#/model-market

Github 代码仓库

  1. Spring AI Alibaba 主仓库:https://github.com/alibaba/spring-ai-alibaba
  2. SAA 官方示例工程:https://github.com/springaialibaba/spring-ai-alibaba-examples
  3. Spring AI 官方仓库:https://github.com/spring-projects/spring-ai

发布 & 技术文章

  1. Spring AI Alibaba 1.0 GA 发布公告:https://java2ai.com/blog/spring-ai-alibaba-10-ga-release/?spm=5176.29160081.0.0.2856aa5cww2t9D
  2. Spring AI 1.0 GA 解读文章:https://java2ai.com/blog/spring-ai-100-ga-released

二、SpringAI Alibaba整体架构流程

分层链路:微服务底座 → AI 开发框架层 → 大模型服务层

  1. 上层:微服务基础设施(Spring Cloud Alibaba 生态) 包含服务发现、Nacos 配置、网关、负载均衡、监控、服务治理、安全管理整套云原生能力,是企业现有 Java 业务系统的底座。 现有 Spring Cloud 微服务业务,不需要重构,可直接接入 AI 能力。
  2. 中间 AI 框架层三选一
    • LangChain4J:社区 Java 大模型开发框架,第三方生态
    • Spring AI:Spring 官方原生 AI 抽象框架
    • Spring AI Alibaba(SAA):基于 Spring AI 封装,深度打通阿里云百炼 / 通义大模型、云原生微服务体系,国内企业首选
  3. 底层:大模型服务
    • 模型推理:接收业务请求,调用大模型生成结果,返回客户端
    • 模型训练:持续调优模型参数,优化输出效果

Spring AI Alibaba 三大核心优势

  1. 原生适配 Spring 全家桶 完全基于 Spring AI,原生兼容 Spring Boot,通过 Bean 自动装配注入 AI 能力,零侵入现有 Spring 项目,无需复杂适配。
  2. 一站式 AI 全栈抽象能力 内置标准化封装:Model 调用、Prompt 提示词模板、RAG 检索增强、Tool 函数调用、对话记忆、多智能体 Agent 等上层 AI 开发组件。
  3. 阿里云云原生深度打通 原生适配通义千问系列大模型、阿里云百炼平台;无缝集成 Nacos 配置、网关、Serverless、ARMS 可观测、阿里云 ADB 向量库等云原生基础设施。

核心底层逻辑

SAA 完整继承 Spring AI 全部底层原子抽象,同时额外扩展国内生态适配:阿里云模型、向量存储、Nacos 提示词管理、微服务 MCP 注册、工作流等独有组件。

三、三大 Java AI 框架横向对比(Spring AI Alibaba / Spring AI / LangChain4J)

常见问题解答-阿里云Spring AI Alibaba官网官网

当前主流 Java AI 框架对比情况

对比维度 Spring AI Alibaba Spring AI LangChain4J
Spring Boot 集成 原生支持 原生支持 社区适配
文本模型 主流模型,可扩展 主流模型,可扩展 主流模型,可扩展
音视频、多模态、向量模型 支持 支持 支持
RAG 模块化 RAG 模块化 RAG 模块化 RAG
向量数据库 主流向量数据库 阿里云ADB、OpenSearch等 主流向量数据库 主流向量数据库
MCP 支持 支持 Nacos MCP Registry 支持 支持 支持
函数调用 支持(20+官方工具集成) 支持 支持
提示词模版 硬编码,无声明式注解 硬编码,无声明式注解 声明式注解
提示词管理 Nacos 配置中心
Chat Memory 优化版JDBC、Redis、ElasticSearch JDBC、Neo4j、Cassandra 多种实现适配
可观测性 支持,可接入阿里云ARMS 支持 部分支持
工作流 Workflow 支持,兼容 Dify、百炼 DSL
多智能体 Multi-agent 支持,官方通用智能体实现
模型评测 支持 支持 支持
社区活跃度与文档健全性 官方社区,活跃度高 官方社区,活跃度高 个人发起社区
开发提效组件 丰富,包括调试、代码生成工具等
Example 仓库 丰富,活跃度高 较少 丰富,活跃度高

Spring AI 与 Spring AI Alibaba 有什么差异?

Spring AI 定位 AI 应用开发底层框架,提供了 AI 开发需要的底层原子抽象,包括模型适配、工具定义、向量数据库存取等;Spring AI Alibaba 定位 AI 智能体开发框架,提供了基于图算法的智能体编程 Graph 框架,让开发者更容易开发工作流、multi-agent 应用。为方便理解,举个不完全正确的类比例子,如果说 Spring AI 是 LangChain 生态中的 Langchain 框架的话,则 Spring AI Alibaba 则是 Langchain 生态中的 Langraph 框架。

除了框架本身外,Spring AI Alibaba 是阿里云基于 Spring AI 框架的企业级智能体开发最佳实践与整体解决方案输出,与阿里开源生态、阿里云平台服务等深度集成,包含:

  • 与百炼 Dashscope 模型服务集成,支持 Qwen、Deepseek 等主流模型系列
  • 与百炼智能体应用平台 AgentScope 集成,提供低代码、高代码双向转换,提升研发效率
  • 与百炼析言 ChatBI 集成,提供自然语言到 SQL 的自动生成开源框架与服务
  • 与阿里云云产品集成,包括向量检索库AnalyticDB、向量检索库OpenSearch、信息检索服务 IQS 等
  • 与开源 Nacos、Higress 生态集成,提供 MCP 注册中心、MCP 智能路由、Prompt管理、模型代理等能力
  • 提供前沿方向的智能体产品实现与整体解决方案,包括 JManus、DeepResearch、NL2SQL 等。
  • 提供 AI 应用开发的完整配套生态,包括本地开发工具、项目构建平台等。

确定 Spring AI Alibaba 与 Spring AI、Spring Boot 版本的兼容关系

Spring AI Alibaba 使用四位版本号的版本管理方式,前三位版本号与 Spring AI 主版本对应,Spring AI Alibaba 社区在前三位主版本基础上持续迭代第四位版本号。

以下为部分版本对应关系,新版发布版本依此类推:

Spring AI Alibaba Spring AI Spring Boot
1.0.0.2 1.0.0 3.4.5
1.0.0-M6.1 1.0.0-M6 3.4.2

核心选型结论

  1. 企业微服务、使用阿里云、Spring Cloud Alibaba → 首选 Spring AI Alibaba 独有优势:Nacos 动态提示词、微服务 MCP、ARMS 监控、多智能体、工作流编排、阿里云百炼深度适配,完美贴合国内 Java 后端技术栈。
  2. 通用 Spring 项目、不依赖阿里云 → 标准 Spring AI
  3. 独立 AI 应用、无 Spring 体系、轻量化 → LangChain4J

主流大模型厂商对比(业务选型参考)

  1. 阿里百炼(通义千问) 优势:性价比高、国内合规、Spring AI Alibaba 原生适配,新企业用户千万 Token 免费额度;适配政企场景,支持私有化部署。
  2. OpenAI GPT 能力强事实标准,但国内无法直连,仅适合海外业务。
  3. DeepSeek / 智谱清言 / 硅基流动 / Ollama 开源 / 本地部署方案,适合私有化、低成本场景,但生态集成不如阿里百炼适配 SAA 顺滑。

版本兼容规则(Spring AI Alibaba 版本管理)

  1. 版本命名规则:4 位版本号 x.x.x.y 前三位和 Spring AI 主版本一一对应,第四位是 SAA 自主迭代补丁版本。 例:1.0.0.2 → 对应 Spring AI 1.0.0,适配 Spring Boot 3.4.5
  2. 对应关系示例
    • Spring AI Alibaba 1.0.0.2 → Spring AI 1.0.0 → Spring Boot 3.4.5
    • Spring AI Alibaba 1.0.0-M6.1 → Spring AI 1.0.0-M6 → Spring Boot 3.4.2
  3. 使用规范:升级时必须对齐三者版本,避免依赖冲突。

四、Spring AI Alibaba 运行 Demo(通义千问对话)

(一)环境版本约束(严格对齐,避免冲突)

Spring AI Alibaba:1.0.0.2

  • Spring AI:1.0.0
  • Spring Boot:3.4.5
  • JDK:17+

(二)Maven POM 依赖

xml

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.5</version>
        <relativePath/>
    </parent>

    <groupId>com.ai</groupId>
    <artifactId>spring-ai-alibaba-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Spring AI Alibaba Demo</name>

    <properties>
        <java.version>17</java.version>
        <spring-ai-alibaba.version>1.0.0.2</spring-ai-alibaba.version>
    </properties>

    <dependencies>
        <!-- SpringBoot Web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Spring AI Alibaba 核心依赖 -->
        <dependency>
            <groupId>com.alibaba.spring.ai</groupId>
            <artifactId>spring-ai-alibaba-starter</artifactId>
            <version>${spring-ai-alibaba.version}</version>
        </dependency>

        <!-- 测试 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

(三)配置文件 application.yml

前往 阿里云百炼平台 获取 api-key

yaml

XML 复制代码
spring:
  ai:
    alibaba:
      api-key: 你的百炼API-Key
      # 默认通义千问,可切换通义千问plus等
      chat:
        options:
          model: qwen-turbo

(四)启动类

java 复制代码
package com.ai.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class AiDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(AiDemoApplication.class, args);
    }
}

(五)对话接口 Controller(同步 + 流式输出)

java 复制代码
package com.ai.demo.controller;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;

@RestController
public class ChatController {

    // SpringAI自动注入ChatClient,底层适配阿里云通义模型
    private final ChatClient chatClient;

    public ChatController(ChatClient.Builder chatClientBuilder) {
        this.chatClient = chatClientBuilder.build();
    }

    /**
     * 同步对话接口,一次性返回完整结果
     */
    @GetMapping("/chat")
    public String chat(@RequestParam String message) {
        return chatClient.prompt()
                .user(message)
                .call()
                .content();
    }

    /**
     * 流式输出(打字机效果,前端SSE接收)
     */
    @GetMapping("/stream/chat")
    public Flux<String> streamChat(@RequestParam String message) {
        return chatClient.prompt()
                .user(message)
                .stream()
                .content();
    }
}

(六)测试

  1. 同步接口(浏览器 / Postman 访问)

    http://127.0.0.1:8080/chat?message=用Java写一个冒泡排序

  2. 流式 SSE 接口(实时分段返回)

    http://127.0.0.1:8080/stream/chat?message=介绍Spring AI Alibaba

(七)扩展 Demo:RAG 简单检索增强(追加代码)

1. 新增向量库依赖(阿里云 OpenSearch/ADB 二选一,这里用内存向量库本地测试)

XML 复制代码
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-memory</artifactId>
</dependency>

2. RAG 控制器

java 复制代码
package com.ai.demo.controller;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.document.Document;
import org.springframework.ai.vectorstore.MemoryVectorStore;
import org.springframework.ai.vectorstore.VectorStore;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class RagController {

    private final ChatClient chatClient;
    private final VectorStore vectorStore;

    public RagController(ChatClient.Builder builder, MemoryVectorStore vectorStore) {
        this.chatClient = builder.build();
        this.vectorStore = vectorStore;
        // 初始化知识库文档
        vectorStore.add(List.of(
                new Document("Spring AI Alibaba 是阿里基于Spring AI开发,深度集成阿里云百炼大模型的Java AI框架"),
                new Document("Spring AI Alibaba完美兼容Spring Cloud Alibaba微服务生态,支持Nacos配置管理提示词")
        ));
    }

    @GetMapping("/rag/chat")
    public String ragChat(@RequestParam String msg) {
        return chatClient.prompt()
                .user(msg)
                // 自动从向量库检索相关文档作为上下文
                .advisors(advisor -> advisor.retriever(vectorStore))
                .call()
                .content();
    }
}

访问:http://127.0.0.1:8080/rag/chat?message=Spring AI Alibaba有什么优势

(八)关键补充说明

  1. API Key 获取步骤
  2. 模型切换 修改 spring.ai.alibaba.chat.options.model
    • qwen-turbo(轻量快速)
    • qwen-plus(更强理解)
    • qwen-max(旗舰大模型)
  3. 生产环境优势
    • 原生对接 Nacos 动态管理 Prompt,无需硬编码
    • 支持 ARMS 链路监控 AI 调用耗时、Token 消耗
    • 兼容 Spring Cloud 微服务网关、服务发现,可封装 AI 微服务对外提供接口
相关推荐
钱六两1 小时前
#9、SpringAI_自主规划智能体实现及解析
ai
VIP_CQCRE10 小时前
Claude 接入 Luma MCP:一句话让 AI 生成电影感短视频
ai·claude·mcp·luma·acedatacloud
Ai思想家10 小时前
私有化部署的服务器选型与容量规划
人工智能·安全·ai
aiqianji11 小时前
一键生成AI短篇小说的写作软件有哪些?
ai
阿文和她的Key15 小时前
DeepSeek API 涨价背后的三层供给瓶颈
人工智能·ai
鬼手点金15 小时前
Hermes Agent vs OpenCode 异同
ai·ai agent·vibecoding·codingagent·opencode·hermes
xcLeigh15 小时前
编程语言的 AI 友好度排名:Python、JavaScript、TypeScript 谁更适合 AI 辅助
javascript·人工智能·python·ai·typescript·ai编程
wang_yb18 小时前
用递归消除法优化“特征子集”
ai·databook
维核科技18 小时前
Llama 3.3 vs Qwen2.5 vs DeepSeek-R1
ai·私有化部署·llama·大模型部署·私有化大模型部署