Spring 于 2026-09-25 发布 Spring AI 2.1.0-M1(里程碑)。本版三大能力:OpenAI Responses API 适配(把 reasoning/function_call/image 等 item 映成 ReasoningPart/ToolCallPart/MediaPart,并保留 item id/status 以便回放);AbstractMessage 引入有序 MessagePart 列表,让文本、推理、工具调用与媒体按模型产出顺序往返;VectorStore 新增 upsert,可直接写入调用方预计算的嵌入(pgvector/Redis/Elasticsearch/Qdrant 等已接线)。依赖升至 Spring Boot 4.2。面向要把 Responses 推理链与预计算向量管线接进 Spring 生态的团队,这是 2.1 线的首个可试用里程碑。

核心要点速览 (Key Takeaways)

  • ✓发版:v2.1.0-M1;Maven Central / Spring milestone 仓库均可解析 `spring-ai-bom:2.1.0-M1`
  • ✓OpenAI Responses:reasoning→ReasoningPart(OpaquePayload 加密内容)、function_call→ToolCallPart、生成图→MediaPart;仅 function_call 进 ToolCallingAdvisor,避免把 web_search 当本地回调
  • ✓MessagePart:Assistant/User/ToolResponse 共用有序 `List<MessagePart>`,旧 getText()/getToolCalls() 仍是视图,Jackson 3 用 type 鉴别器序列化
  • ✓VectorStore.upsert:`EmbeddedDocument` 配对 Document+调用方向量;AbstractObservationVectorStore 打 UPSERT 观测;pgvector/Redis/ES/Qdrant 按 id 替换
  • ✓升级:对照 Upgrade Notes 2.1;Boot 升到 4.2,先在 milestone 仓试用再等 GA
🔬

深度技术解析与实战评估

核心背景与行业痛点

企业 Java 栈要把「带推理签名的 Responses 流」「工具调用」「多模态附件」和「离线/批处理预计算向量」塞进同一套 Chat/RAG 抽象时,旧版 Spring AI 仍偏 Chat Completions 消息模型:文本、tool call、媒体各走各的字段,顺序易丢;向量侧也多假设由 EmbeddingModel 当场算,难承接外部特征管线。OpenAI Responses 还要求把带签名的 reasoning 原样回放,否则会被拒——没有 OpaquePayload 就只能砍掉推理链。

架构亮点与底层机制

v2.1.0-M1 做了三件事。其一,OpenAI Responses API 适配:Responses item 映成 ReasoningPart(OpaquePayload 持加密内容)、TextPart、ToolCallPart、MediaPart,未知自托管工具进 UnknownPart 保真;item id/status/消息相位进 part 属性,便于重建。仅 function_call 变成 ToolCall,避免 ToolCallingAdvisor 误找名为 web_search 的本地回调;外源或无载荷 reasoning 跳过而非硬送被拒。其二,MessagePart 成为 Assistant/User/ToolResponse 的共享有序表示,旧 accessor 仍是视图。其三,VectorStore.upsert 用 EmbeddedDocument 写入预计算向量,pgvector/Redis/Elasticsearch/Qdrant 按 id 替换,并挂 UPSERT 观测。BOM 对齐 Spring Boot 4.2。

权威 Benchmark 与实测跑分对比

发行说明未给出跨版本吞吐或检索召回公开跑分。验收建议:Responses 多轮回放(含 reasoning 签名)是否 400;MessagePart 顺序是否与 provider item 一致;upsert 后按 id 读回向量是否与调用方一致。不要用 Chat Completions 旧路径的延迟数字外推 Responses。

开发者实战落地与开箱指南

Maven 引入 org.springframework.ai:spring-ai-bom:2.1.0-M1(Central 已发;亦可走 Spring milestone 仓)。对照 2.1 Upgrade Notes 与 Getting Started,OpenAI 聊天见 OpenAI Chat,向量见 Vector Databases。里程碑 API 仍可能变,生产请等 GA 或锁 commit 做金丝雀。