1.0.2
Spring AI 1.0.2 正式发布,累计合并 91 个提交,涉及 263 个文件(+4,387 / -651 行),重点更新了 OpenAI GPT-5 系列模型适配、Azure OpenAI 增强以及 Bedrock 可配置性改进。
模型厂商
OpenAI
- GPT-5 系列模型 —— 新增
gpt-5-mini、gpt-5-nano、gpt-5-chat-latest三个模型枚举,其中gpt-5-chat-latest替代了原有的GPT_5_2025_08_07快照 - verbosity 参数 ——
OpenAiChatOptions新增verbosity配置项(low/medium/high),控制模型回复的简洁程度 - maxTokens 互斥校验 —— 新增
maxCompletionTokens支持,与maxTokens采用"最后设置优先"策略,设置其中一个会自动清除另一个并输出警告,避免 API 调用错误
Azure OpenAI
- maxCompletionTokens —— 新增
maxCompletionTokens配置项,适配 GPT-5 及 reasoning 系列模型(o1、o3、o4-mini) - 修复 Azure OpenAI ChatModel 中消息重排序问题(GH-4156)
- 清理
AzureOpenAiChatOptions中重复的配置行
Bedrock
- 可配置启用开关 —— 新增
spring.ai.bedrock.cohere.embedding.enabled和spring.ai.bedrock.converse.chat.enabled属性,允许按需禁用 Cohere Embedding 和 Converse Chat 功能 - 移除
BedrockProxyChatModel中错误且不可达的BedrockChatOptions类型转换分支 - Bedrock Converse ChatModel 正确合并 Tool Calling 相关的 ChatOptions
Mistral AI
- 移除已弃用的
OPEN_CODESTRAL_MAMBA模型常量 - 改进 JavaDoc 并更新文档链接
核心改进
Tool Calling
- 修复流式模式下
null/ 空工具调用参数导致失败的问题——自动将空参数默认为"{}" - 修复
ToolCallback#call(String, ToolContext)默认实现的处理逻辑
Tokenizer
- 修复二进制数据 Token 估算——改用 Base64 编码,提升非文本内容 Token 计数的准确性
可观测性
- 补充 Metrics 指标的文档说明
- 改进 Chinese 字符的 Unicode 属性匹配支持
CI/CD 优化
1.0.2 对持续集成流水线进行了大量优化:
- 基于模块受影响范围的选择性构建,跳过无变更模块
- 修复快速构建模式下根模块的测试发现逻辑
- CI 运行名称修正为显示 commit hash
Bug Fix 汇总
| 问题 | 修复 |
|---|---|
| MongoDB Atlas SSL Bundle 无限递归 | 修复 getSslBundle() 中的 StackOverflowError(GH-4149) |
| JDBC ChatMemory 冗余异常捕获 | 清理 JdbcChatMemoryRepository 中不必要的 try-catch |
| HSQLDB scope 错误 | hsqldb 依赖 scope 从 runtime 修正为 test |
| 线程安全性 | DateTimeFormatter 替代 SimpleDateFormat |
| Tool Calling AutoConfig 日志 | ClassNotFoundException 仅输出类名,避免完整堆栈 |
Spring AI 1.0.2 延续了稳定迭代的节奏,重点补齐了 GPT-5 生态的适配拼图,同时通过 CI/CD 优化提升了项目的开发效率。