本系列文章将以实战为核心、以能够生产落地为目标,完整吃透 Spring AI 能力。从大模型对接,到 RAG 检索增强、AI Agent 智能体、多模态交互,再到实战,每篇文章都有可直接运行的代码,打通 Java 开发者从传统后端到 AI 应用开发的全链路。Spring AI 是 Spring 官方出品,面向 Java/Spring 生态的企业级生成式 AI 集成框架,非自研大模型,而是统一封装各类大模型调用、向量数据库、AI 应用能力的中间件。- 统一 ChatClient 、EmbeddingClient 接口,兼容 OpenAI、Azure OpenAI、Anthropic、Google、Ollama、智谱、阿里通义、DeepSeek等。
- 提供官方Starter、自动配置、DI注入,Java开发者极低学习成本。
- 对话记忆、Prompt模板、流式输出、结构化POJO返回、Function Calling、RAG、向量库集成、链路监控、重试熔断。
- 聊天对话、向量嵌入、文生图、语音转写、语音合成、内容审核。
- 支持Milvus、PGVector、Redis、Chroma、Qdrant、Neo4j、MongoDB、Pinecone等,统一查询过滤语法。
- 高阶 流式/同步 对话 API,内置上下文记忆、工具调用、结构化返回,业务开发首选。
- 将文本转为向量,是 RAG (检索增强) 的基础。
- 模板化管理System提示词、变量占位、消息组装。
- 内存、Redis、JDBC持久化上下文,实现多轮聊天。
- Function Calling (Tool工具调用)@Tool 注解定义 Java 方法,让大模型自动调用本地接口查实时数据(订单、天气、数据库),实现 AI Agent。
- 强制大模型返回 JSON ,直接映射为 Java POJO ,避免解析乱码。
集成 Micrometer 、Prometheus 、链路追踪,统计调用耗时、Token 消 耗、异常。- 上传内部文档 -> 切片向量化存入向量库 -> 用户提问相似度检索 -> 上下文喂给大模型回答,解决大模型幻觉。
- 大模型自动调用后端接口、查询数据库、调用第三方 API 完成复杂任务。
- 通过 Ollama 对接Llama3、Qwen、GLM等开源本地大模型。
4、Spring AI vs LangChain4j- Spring AI :1.0.0-M4(里程碑版本,需配置 Spring Milestone 仓库)
<properties> <java.version>17</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodin> <!-- Spring Boot--> <spring-boot.version>3.5.5</spring-boot.version> <!-- Spring AI Alibaba--> <SpringAIAlibaba.version>1.0.0.2</SpringAIAlibaba.version></properties>
<dependencies><!-- Spring Boot Web(必须) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--Spring AI Alibaba DashScope官方适配(核心依赖)--> <dependency> <groupId>com.alibaba.cloud.ai</groupId> <artifactId>spring-ai-alibaba-starter-dashscope</artifactId> </dependency><!-- knife4j API 文档与在线调试 --><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.5.0</version></dependency><!-- Spring Boot 配置处理器(生成自定义属性元数据,消除 IDE 警告) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency><!-- Test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency><!-- Spring Boot Redis 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> </dependencies> <!-- Spring Milestone 仓库(必须,用于下载 Spring AI 里程碑版本) --><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories>
- 注册阿里云账号并开通 百炼(DashScope)服务
- 登录阿里云百炼控制台,进入 API-KEY 管理,创建新的 API Key