文章目录
- [1. 前言](#1. 前言)
- [2. Spring AI 1.1.3 版本发布说明](#2. Spring AI 1.1.3 版本发布说明)
-
- [🎯 核心亮点](#🎯 核心亮点)
- [📢 重要更新](#📢 重要更新)
- [⭐ 新特性](#⭐ 新特性)
- [🪲 漏洞修复](#🪲 漏洞修复)
- [📓 文档优化](#📓 文档优化)
- [🔨 依赖升级](#🔨 依赖升级)
- [🔩 构建优化](#🔩 构建优化)
- [3. Spring AI 1.1.4 版本发布说明](#3. Spring AI 1.1.4 版本发布说明)
-
- [🎯 核心亮点](#🎯 核心亮点)
- [⭐ 新特性](#⭐ 新特性)
- [🪲 漏洞修复](#🪲 漏洞修复)
- [🔩 构建优化](#🔩 构建优化)
1. 前言
在之前的版本中,我们使用的 Spring AI 1.1.2 版本 ,在 26 年三月份,Spring 连续发布了两个版本,下面一起来看下新版本有哪些更新,后续本系列专栏会使用最新的 1.1.4 版。
2. Spring AI 1.1.3 版本发布说明
🎯 核心亮点
本次版本包含19 项新特性 、31 处漏洞修复 、23 项文档优化 及 25 项其他改进。
📢 重要更新
为保持与 Anthropic API 的兼容性,代码库及集成测试中所有已弃用的 Anthropic 模型名称,均已替换为现行有效模型标识符。
⭐ 新特性
Neo4j向量存储现已支持通过构建器模式自定义过滤表达式转换器,为自定义查询过滤逻辑提供更高灵活性。- 为
OpenAiSdkChatModel实例引入构建器模式,实现更灵活、更易读的实例化方式。 OpenAiEmbeddingModel新增支持通过配置文件/embedding/embedding-model-dimensions.properties自定义嵌入向量维度。ToolCallAdvisor现已支持流式响应,可实现实时函数调用交互。SimpleVectorStore新增删除条目时的过滤能力,实现向量数据管理的更细粒度控制。- 新增对
Anthropic Claude Skills API的支持,采用统一API设计并提供技能集成辅助类。 Ollama嵌入模型新增维度参数支持,可控制嵌入向量的长度。- 支持为结构化输出与函数调用自定义 JSON Schema 生成规则。
Mistral AI对话模型现已支持基于JSON Schema校验的结构化输出,实现类型安全响应与自动转换。- 新增便捷方法,可直接从
Prompt对象中获取系统提示消息。 - 新增
Mcp*ServerCustomizer接口,并修复MCP自动配置在非Web环境下无法正常运行的问题。 OllamaChatOptions现已实现StructuredOutputChatOptions接口,支持结构化JSON输出,并配套完善单元与集成测试。Ollama对话交互新增简单 JSON 格式选项支持。- 优化
Microsoft Foundry集成中的模型提供商检测逻辑。 - 对话记忆顾问现已支持
ToolResponseMessage,优化对话历史中工具响应的处理逻辑。 - 新增运行时动态扩展工具 Schema 能力,支持更灵活的工具配置与自定义。
- 为
ToolCallAdvisor新增conversationHistoryEnabled选项,可控制工具调用时是否携带对话历史。 Azure向量存储新增可配置字段名 支持,可适配使用自定义字段名(而非硬编码默认值:content、embedding、metadata)的现有Azure AI搜索索引。TokenTextSplitter新增自定义标点符号支持,适配多语言与各类场景下更灵活的文本切分。
🪲 漏洞修复
- 修复并优化向量存储操作的
FilterExpressionConverter,增强查询过滤能力。 - 将已停用的
Azure OpenAI图像模型替换为最新可用版本。 - 修正
DeepSeekAssistantMessage中prefixAssistantMessage的实现逻辑。 - 解决新批次处理首个文档时令牌计数未正确统计的问题,确保令牌用量上报准确。
- 文档名称现已完成合规化处理,满足
AWS Bedrock Converse API命名规范,避免API调用被拒绝。 - 确保
CosmosDB对话记忆自动配置优先加载,解决Bean依赖与初始化顺序问题。 - 通过更新为现行模型名称,修复
Anthropic集成测试异常问题。 - 新增歧义校验并优化
Google GenAI认证逻辑,避免配置冲突。 - 解决批量嵌入处理时
MetadataMode配置未生效的问题。 - 修正
OpenSearch向量存储集成中的过滤表达式分组逻辑,保证查询结果准确。 - 解决
Bedrock缓存指标未正确纳入Usage对象的问题,保障监控可观测性。 - 修正
Elasticsearch集成中IN/NOT IN运算符的过滤表达式语法。 - 修复
MongoChatMemoryRepository消息排序问题,确保对话历史正确获取。 - 修复
ToolCallAdvisor在记忆功能禁用时无法保留系统消息的问题。 - 修正
Google生成式 AI 嵌入模型的观测器使用方式,保障指标采集与链路追踪正常 - 优化
ChromaApi异常处理,实现异常的正确捕获与处理。 - 优化工具描述,助力模型正确返回地理坐标,并完善集成测试类。
- 修正
Mistral AI的chatClientEntityWithStructuredOutput集成测试。 - 解决语法解析流程中的字符串解析问题。
- 修复
Spring AI BOM中缺失Redis对话记忆存储库构件的问题。 - 适配不同
Ollama模型版本的令牌计数差异,提升集成测试稳定性。 - 将
Anthropic集成测试切换为现行模型,提升测试可靠性。 - 修复
Neo4jVectorStore的doAdd方法忽略会话配置的问题。 - 对
Neo4jVectorStore实现进行通用优化与更新。 - 解决
Antora文档构建流程中的异常问题。 - 修复
ChromaApi HTTP服务端/客户端异常信息校验,正确处理错误场景。 - 修正集合存在性校验的错误提示拼写问题
- 更新
TransformersEmbeddingModel使用原始URL,提升兼容性。 - 解决构建过程中的
Checkstyle执行异常。 - 修复多项构建系统问题,提升构建稳定性。
- 修复代码库中
ErrorProne检测出的各类错误,提升代码质量、规避潜在漏洞。
📓 文档优化
- 完善
JavaDoc说明,明确请求支持的内容类型(字符串/媒体内容列表)与响应类型(仅字符串)。 - 新增文档说明贡献者需遵循的
Java代码格式化规范与环境配置。 - 完善
Bedrock缓存指标功能的文档与测试覆盖率,同时保障向后兼容。 - 修正用户指南文档中的
API参考错误。 - 修正文档中的拼写错误 。
- 新增
MongoChatMemoryRepository消息排序行为的相关文档。 - 为
ETL流水线文档补充依赖信息,简化集成流程。 - 修复通用模块代码注释中的拼写错误。
- 完善
Prompt功能相关文档。 - 新增
Mistral AI原生结构化输出转换使用文档。 - 修正文档中多处拼写错误。
- 修正
RetrievalAugmentationAdvisor文档中的步骤编号。 - 新增 LLM 评判器(LLM as a Judge) 模式及实现策略的全新文档指南。
- 新增动态工具发现能力与使用模式的文档指南。
- 修正
Gemini模型提供商文档中的拼写错误。 - 移除文档中
OpenAI基础 URL 示例里冗余的/v1后缀,提升可读性。 - 新增
Anthropic自定义技能集成的完整参考文档。 - 修复对话选项构建器示例代码中的语法错误。
- 修正
TokenCountBatchingStrategyJavaDoc中失效的文档链接。 - 修正
MilvusFilterExpressionConverterJavaDoc中失效的文档链接。 - 为项目
README添加Maven Central徽章,提升项目辨识度。 - 新增
Azure向量存储自定义字段名功能的相关文档。 - 新增
TokenTextSplitter自定义标点符号支持的相关文档。
🔨 依赖升级
- 将向量存储组件依赖更新至最新版本。
- 更新集成测试中使用的
GemFire向量存储Docker镜像版本。 Spring Boot依赖升级至 3.5.11 ,引入Spring Boot生态最新漏洞修复与功能优化。OpenAI Java SDK依赖升级至 4.17.0,适配最新特性与修复。Azure SDK依赖更新至最新版本,提升安全性与稳定性。- 更新
Google GenAI SDK,新增对Gemini 3 Pro/Flash模型专属思考等级的支持。 - 更新
Mistral AI对话模型列表,纳入最新模型版本。 OpenAI Java SDK依赖更新至 4.13.0。Google生成式AI SDK依赖升级至 1.30.0。
🔩 构建优化
- 移除不再需要的
AnthropicApiLegacyToolIT集成测试。 - 更新
Checkstyle规则,适配新的版权声明格式。 - 更新非
Java文件的版权声明,保持许可协议一致性。 - 统一代码库版权声明格式为「
2023-present」,便于维护。 - 更新
Google GenAI对话自动配置的集成测试。 - 使用官方
spring-io回退机器人操作,简化版本回退自动化流程 - 重构构建结构,将
antlr4语法文件与swagger文件移出资源目录。 - 将
OllamaEmbeddingOptionsTests重新归类为集成测试,规范测试分类。 - 将相关测试迁移至
IT测试分类,规范测试归类 - 修正
Checkstyle插件的代码质量检查配置。 - 将多个
CI工作流合并为单一统一工作流,提升可维护性。 - 集成
Maven构建缓存插件,提升构建性能。 - 优化
Maven构建缓存配置,提升缓存效率。 - 清理
ChatClientToolsWithGenericArgumentTypesIT中歧义性测试。 - 更新
BedrockRuntimeHints与OpenAIRuntimeHints,提升GraalVM原生镜像兼容性。
3. Spring AI 1.1.4 版本发布说明
🎯 核心亮点
本次版本包含1 项新特性 、11 处漏洞修复 、1 项其他改进。
⭐ 新特性
新增运行时动态禁用原生结构化输出功能的能力,在配置和使用场景中提供更高灵活性。
🪲 漏洞修复
- 修复
Oracle与PgVector向量存储集成测试问题,提升测试可靠性 。 - 修复对话请求中提供工具定义(
toolDefinitions)时,extraBody参数丢失的问题。 - 解决不稳定测试场景问题,提升
Bedrock对话集成测试稳定性。 - 更新
Google GenAI嵌入模型至现行API,并修复函数调用测试不稳定问题 。 - 修复
Google GenAI文本嵌入模型观测集成测试问题。 - 增强
Bedrock代理对话模型获取媒体资源时的异常处理能力与可靠性 。 - 优化
SimpleVectorStore中的过滤判断逻辑,提升性能与可维护性 。 - 修复 Anthropic 提示词缓存实现中,多块系统消息无法正常缓存的问题 。
- 修正
Redis过滤表达式转换器中,TAG与TEXT过滤类型对字符串值的处理逻辑 。 - 优化
Neo4j向量存储过滤表达式转换器中的键处理逻辑,实现更精准的过滤 。 - 修复
FilterExpressionTextParser中的标识符解析逻辑问题,确保过滤表达式处理正确。
🔩 构建优化
修复文档上传 GitHub Actions 工作流中的问题,确保文档正常部署。