Spring AI的GA版发布

0 阅读3分钟

原文链接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_KEYTOP_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

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:

    • OpenAiApiOpenAiChatModelmutate 功能
    • Web 搜索注释优化
    • OpenAiImageModel 的图像路径可配置

RAG 和文档处理

  • RAG Advisor:支持复杂转换管道的 DocumentPostProcessors
  • 文本属性自定义:可自定义文本属性名称(向后兼容)

工具调用(Tool Calls)

  • 支持通用参数类型的 tool callbacks

内存管理

  • JdbcChatMemory:灵活的数据库支持
  • CassandraChatMemoryRepository:支持 Cassandra 数据库存储。

其他

  • 向量存储:更多模型和存储后端支持
  • MCP:McpServer 工厂模式优化;ClientMcpTransportServerMcpTransport 标记接口简化传输逻辑

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-*
    • 无需持久化记忆?无需引入数据库模块
  • 优势:应用包更小、启动更快,减少依赖冲突

命名规范化

  • 启动器命名统一:

    • 旧版: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 功能改进:

    • 多模态支持
    • 函数调用优化