1. Spring AI概述

一、前言

Spring AI 是由 Spring 团队推出的开源项目,旨在为 Java 开发者提供简洁、一致的 Spring 风格开发体验 ,用于构建基于生成式人工智能(GenAI)和大型语言模型(LLM)的应用程序。它通过标准化抽象层简化了 AI 能力的集成 ,降低开发门槛。

本专栏根据Spring AI官方文档和优秀的开源项目,并结合实际的业务思考,一方面是自己学习过程的记录和梳理,另一方面也希望能帮助读者以最小阻力快速地掌握Spring AI的核心开发能力!

二、Spring AI到底能干什么

  • 提供跨 AI 供应商(如 OpenAI、Anthropic、Hugging Face 等)的一致性 API;
  • 支持多种 LLM 模型(文本、向量、语音、图像、多模态模型等);
  • 提示工程内置模板和动态提示管理,支持结构化灵活转化,如转JAVA对象POJO;
  • 向量存储集成,支持 Pinecone、Redis、Elasticsearch 等向量数据库,实现检索增强生成(RAG);
  • 模型上下文协议(MCP),动态扩展 AI 工具(如 Web 搜索、数据库操作等);
  • .......

总之Spring AI 能完成几乎所有大语言模型落地场景的需求,并且大大降低开发难度!

三、环境要求

3.1 版本说明

  • Spring boot : 3.4.5
  • Java : 17
  • Spring AI 1.0.0 GA (生产稳定版本)

3.2 Spring AI生产版本

截至到目前2025年7月,Spring AI目前最新的生产版本是 1.0.0 GA,该版本功能完善,支持同步/流式调用、多模型切换、工具调用等企业级特性,是生产环境首选,ChatClient (高级封装)成为官方推荐的核心 API !

3.3 Spring AI快照版本

截至到目前2025年7月,Spring AI目前最新的快照版本是 1.0.0-SNAPSHOT,快照版本仅发布在 Spring 官方快照仓库中,开发者必须显式配置该仓库地址,否则项目将无法解析 spring-ai-bom 或相关 Starter 依赖(如 spring-ai-openai-spring-boot-starter)

XML 复制代码
<!--配置Spring AI 的快照仓库-->
<repositories>
  <repository>
    <id>spring-snapshots</id>
    <name>Spring Snapshots</name>
    <url>https://repo.spring.io/snapshot</url>
    <releases>
      <enabled>false</enabled>
    </releases>
  </repository>
  <repository>
    <name>Central Portal Snapshots</name>
    <id>central-portal-snapshots</id>
    <url>https://central.sonatype.com/repository/maven-snapshots/</url>
    <releases>
      <enabled>false</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

**PS :**注意如果我们maven配置了仓库(如阿里云公共仓库),会覆盖所有仓库,导致 Maven 只从阿里云仓库下载依赖,而阿里云仓库中没有 Spring AI 的快照版本。需要在 settings.xml 的 <mirrors> 中排除 spring-snapshots 和 central-portal-snapshots, 比如:

XML 复制代码
<mirror>
  <id>aliyunmaven</id>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
  <mirrorOf>*,!spring-snapshots,!central-portal-snapshots</mirrorOf>
</mirror>

3.4 依赖管理

spring-ai-bom是 Spring AI 项目的 Bill of Materials (BOM,物料清单)。它的核心作用是集中管理 Spring AI 相关依赖项的版本 。即内部定义了Spring AI模块 (例如 spring-ai-openai, spring-ai-azure-openai等)以及它们所依赖的第三方库的推荐兼容版本, 当你声明 Spring AI 模块依赖时(如 spring-ai-openai),不再需要手动指定版本号 。BOM 会自动为你提供该版本号。

XML 复制代码
  <!--Spring AI模块的依赖版本管理-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <!--正式生产版本:1.0.0 GA(2025年5月20日发布)是首个稳定且支持生产环境的版本,ChatClient 成为官方推荐的核心 API-->
                <version>1.0.0</version> <!-- GA 版本 -->
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

四、参考文档

4.1 Spring AI官方文档: Getting Started :: Spring AI Reference

--------------------------如果文章对你有帮助,别忘了点赞支持一下,谢谢~~--------------------------

相关推荐
shujudang1 分钟前
AI会员运营的数据实践:人群预测、等级策略与效果分析
大数据·人工智能·数据挖掘·数据分析
Maynor9961 分钟前
一张照片出演吵架舞:Bad Times AI 人物/宠物短视频工具体验与实现简析
人工智能·短视频·独立开发·ai视频·badtimes·照片生成视频
zoutao985 分钟前
DeepSeek 智能效果实测与能力边界解析
大数据·运维·人工智能
今年下半年9 分钟前
【短信发送】Spring Boot整合多种短信接口的实现(附源码)
java·spring boot·后端·sms·qcloudsms
易知微EasyV数据可视化10 分钟前
会插卡片的编辑器:在 Agent 输入框里混排文字与结构化内容
人工智能·经验分享·编辑器·agent·设计
skywalk816315 分钟前
介绍一下BEAM 数据和 LoCoMo 数据:评估大模型记忆能力的数据集
人工智能·记忆
MerryLuna16 分钟前
专业的EUDR机构
大数据·人工智能·python
wespaul18 分钟前
VeapAI 自然语言操作实战|第 04 篇:系统数据加工——把系统自身的元数据吃成知识
java·大数据·运维·数据库·人工智能
幼儿园蛋小黑21 分钟前
SPI 子系统:从原理到实践
java·前端·数据库
墨云安全23 分钟前
自动化安全测试工具的技术架构、集成方式与任务编排(2026 年实践)
人工智能·网络安全·渗透测试