原文链接Spring AI的GA版发布
后续我将根据本期GA版给出系列源码级解读+系列上手教程
Spring Ai 官网
GA 版(2025 年 5 月 20 号)发,长期支持,完善模块拆分和依赖管理(如 spring-ai-starter-*
系列)
- 所有弃用功能移除,API 简洁化
- 向后兼容性保障(无需修改现有代码)
下面是 RC1、M8、M7 核心特性的说明
RC1 版本
- 稳定版本前最后一组重大变更
Chat 客户端和 Advisors
-
In :
VectorStoreChatMemoryAdvisor
CHAT_MEMORY_RETRIEVE_SIZE_KEY
→TOP_K
DEFAULT_CHAT_MEMORY_RESPONSE_SIZE
(100) → (20)DEFAULT_TOP_K
-
CHAT_MEMORY_CONVERSATION_ID_KEY
→ (moved to interface)CONVERSATION_IDChatMemory
- Update imports to:
org.springframework.ai.chat.memory.ChatMemory.CONVERSATION_ID
- Update imports to:
Advisors 中的 Prompt 模版:Advisors 现在试用独立的占位符模版
QuestionAnswerAdvisor
:queryquestion_answer_context
PromptChatMemoryAdvisor
:instructionsmemory
VectorStoreChatMemoryAdvisor
:instructionslong_term_memory
Chat Memory 命名改变
-
Artifact IDs
spring-ai-model-chat-memory-*
→spring-ai-model-chat-memory-repository-*
spring-ai-autoconfigure-model-chat-memory-*
→spring-ai-autoconfigure-model-chat-memory-repository-*
spring-ai-starter-model-chat-memory-*
→spring-ai-starter-model-chat-memory-repository-*
-
Java Packages
- 包名现在包含
.repository.
- 举个例子: → org.springframework.ai.chat.memory.jdbc -> org.springframework.ai.chat.memory.repository.jdbc
- 包名现在包含
-
Configuration Classes
- 主要的自动注入配置类现在包含后缀
Repository
- 举个例子: → JdbcChatMemoryAutoConfiguration -> JdbcChatMemoryRepositoryAutoConfiguration
- 主要的自动注入配置类现在包含后缀
-
Properties
- 属性字段配置新增 repository
- spring.ai.chat.memory.... -> spring.ai.chat.memory.repository....
模型增强功能
-
DeepSeek:添加了核心类和启动器的专用 DeepSeek 模型支持
-
OpenAI:
OpenAiApi
和OpenAiChatModel
的mutate
功能- Web 搜索注释优化
OpenAiImageModel
的图像路径可配置
RAG 和文档处理
- RAG Advisor:支持复杂转换管道的
DocumentPostProcessors
- 文本属性自定义:可自定义文本属性名称(向后兼容)
工具调用(Tool Calls)
- 支持通用参数类型的
tool callbacks
内存管理
- JdbcChatMemory:灵活的数据库支持
- CassandraChatMemoryRepository:支持 Cassandra 数据库存储。
其他
- 向量存储:更多模型和存储后端支持
- MCP:
McpServer
工厂模式优化;ClientMcpTransport
和ServerMcpTransport
标记接口简化传输逻辑
M8 版本
DeepSeek SDK 正式支持
-
区别:此前 DeepSeek 通过 OpenAI 协议模拟,现在提供专用 SDK
-
优势:DeepSeek 可与其他 OpenAI 兼容模型并存,无需依赖 OpenAI 协议。
-
使用方式:
- 添加依赖:
spring-ai-deepseek-spring-boot-starter
。 - 配置 API Key 和模型参数(如
deepseek-chat
)
- 添加依赖:
Cassandra 向量存储改进
- 修复 Cassandra 聊天内存中的消息顺序问题。
- 增强错误提示和稳定性
M7 版本
模块拆分
-
按需引入独立模块,减少冗余依赖:
- 仅需 OpenAI 功能?引入
spring-ai-starter-model-openai
- 仅需向量搜索?引入
spring-ai-starter-vector-store-*
- 无需持久化记忆?无需引入数据库模块
- 仅需 OpenAI 功能?引入
-
优势:应用包更小、启动更快,减少依赖冲突
命名规范化
-
启动器命名统一:
- 旧版:
spring-ai-openai-spring-boot-starter
- 新版:
spring-ai-starter-model-openai
- 旧版:
-
核心类包路径优化(IDE 自动适配)
AI 模型支持增强
-
新增支持以下模型:
- Claude 3.7 Sonnet(Anthropic,默认选项)
- Gemini Pro 1.5(Google 大模型)
- Mistral(支持内容审核功能)
- Ollama(本地模型支持,包括 LLAMA3_2_3B)
-
OpenAI 功能改进:
- 多模态支持
- 函数调用优化