Spring AI 1.0.0 RC1 现已正式发布,这标志着稳定版发布前的最后一批重大变更、错误修复和新功能。
GA 版本计划于 2025 年 5 月 20 日发布,距离正式版发布仅剩一周时间。在此期间,项目团队将专注于改进文档并解决所有已报告的错误。为了庆祝此次发布,其还在 AI 生成的音乐播放列表中添加了一首新歌。
Key Breaking Changes
Chat Client and Advisors
-
在
VectorStoreChatMemoryAdvisor
:CHAT_MEMORY_RETRIEVE_SIZE_KEY
→TOP_K
DEFAULT_CHAT_MEMORY_RESPONSE_SIZE
(100) →DEFAULT_TOP_K
(20)
-
CHAT_MEMORY_CONVERSATION_ID_KEY
→CONVERSATION_ID
(移至ChatMemory
界面)- Update imports to:
org.springframework.ai.chat.memory.ChatMemory.CONVERSATION_ID
- Update imports to:
Self-contained Templates in Advisors
QuestionAnswerAdvisor
:query
,question_answer_context
PromptChatMemoryAdvisor
:instructions
,memory
VectorStoreChatMemoryAdvisor
:instructions
,long_term_memory
聊天记忆库命名标准化
在 1.0.0-RC1 版本中,通过在整个代码库中添加repository
后缀,标准化了聊天内存组件的命名模式。此更改会影响 Cassandra、JDBC 和 Neo4j 实现:
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
- 配置属性从
spring.ai.chat.memory.<storage>...
重命名为spring.ai.chat.memory.repository.<storage>...
Observability Changes
- 从跟踪切换到日志记录
- 属性重命名(例如
include-prompt
→log-prompt
) - 删除了 OTel SDK 依赖项
为了提供更简洁的 API,所有弃用功能均已移除。完整详情可参阅Spring AI 升级说明。
新功能
模型增强
DeepSeek Integration
添加了专用的 DeepSeek 模型支持,包括核心类和启动器,以适应其与 OpenAI API 的差异。
Azure OpenAI
- AzureOpenAiResponseFormat 中的构建器模式支持 JSON schema
- Entra ID 身份管理,简化身份验证
- Stream usage 支持,以实现高效的响应处理
- AzureOpenAiChatOptions 中的 reasoning_effort 参数
OpenAI
- OpenAiApi 和 OpenAiChatModel builders 的 Mutate 功能
- 用于改进搜索集成的 Web 搜索注释
- OpenAiImageModel 中的可配置图像路径
Vertex AI Gemini
- Parameter warnings 和 penalty 选项可提高输出质量
- jsonToStruct 中的 JSON 数组支持
RAG 和文档处理
- RAG Advisor 中的 DocumentPostProcessors 用于复杂的转换管道
- 具有向后兼容性的可自定义文本属性名称
工具调用
- tool callbacks 中的通用参数类型支持
内存管理
- JdbcChatMemory 中灵活的数据库支持
- 通过 CassandraChatMemoryRepository 支持 Cassandra
可观察性
- 增强内容观察的日志记录
- Bedrock Titan Embedding 模型的可观察性支持
发布公告:https://spring.io/blog/2025/05/13/spring-ai-1-0-0-RC1-released