续 Spring AI M8 版本之后(5.1 发布),前几日 Spring AI 悄悄的发布了最新版 Spring AI 1.0.0 RC1(5.13 发布),此版本也将是 GA(Generally Available,正式版)发布前的最后一个版本,正式版计划在 5.20 日发布。
这个版本的改动相比于上一个版本 M8 来说,改动不算很大,但也有一些让我们意想不到的版本更新,接下来一起来看。
移除千帆大模型 SDK
和国内开发者关系比较大的一个更新就是 Spring AI RC1 移除了百度的千帆大模型,给出的原因是中国境外无法访问,所以被移除了,官方文档中千帆的对接文档也被删除了,变成这个样子了:
这样一来,Spring AI 直接对接国内的大模型就剩下 DeepSeek 和智普 AI 这两家公司了。
国内的阿里的百炼平台也没有直接提供 SDK 对接,算是比较遗憾的,因为国内使用通义大模型的公司是非常多的,并且百炼平台内置了 200+ 家大模型,对接百炼相当于对接了 200+ 大模型。当然我们可以使用 OpenAI 协议接入它,但这就意味着,我们在这个项目中不能同时在接入 OpenAI 大模型了,希望后期官方能提供百炼平台的 SDK 对接方式。
其他重要更新
VectorStoreChatMemoryAdvisor 更新:
- 常量 CHAT_MEMORY_RETRIEVE_SIZE_KEY 被重命名为 TOP_K。
- 常量 DEFAULT_CHAT_MEMORY_RESPONSE_SIZE 被重命名为 DEFAULT_TOP_K,并且其默认值从 100 调成为 20。
- 常量 CHAT_MEMORY_CONVERSATION_ID_KEY 被重命名为 CONVERSATION_ID,并从 AbstractChatMemoryAdvisor 移动到 ChatMemory。请更新您的导入以使用 org.springframework.ai.chat.memory.ChatMemory.CONVERSATION_ID。
问答中增加了自包含模版,例如:
QuestionAnswerAdvisor 具有以下占位符:
- query 用于接收用户问题的占位符。
- 用于接收检索到的上下文的占位符 question_answer_context。
使用示例如下:
PromptTemplate customPromptTemplate = PromptTemplate.builder() .renderer(StTemplateRenderer.builder().startDelimiterToken('<').endDelimiterToken('>').build()) .template(""" <query> Context information is below. --------------------- <question_answer_context> --------------------- Given the context information and no prior knowledge, answer the query. Follow these rules: 1. If the answer is not in the context, just say that you don't know. 2. Avoid statements like "Based on the context..." or "The provided information...". """) .build(); String question = "Where does the adventure of Anacletus and Birba take place?"; QuestionAnswerAdvisor qaAdvisor = QuestionAnswerAdvisor.builder(vectorStore) .promptTemplate(customPromptTemplate) .build(); String response = ChatClient.builder(chatModel).build() .prompt(question) .advisors(qaAdvisor) .call() .content();
PromptChatMemoryAdvisor 具有以下占位符:
- instructions 接收原始系统消息的占位符。
- memory用于接收检索到的对话记忆的占位符。
VectorStoreChatMemoryAdvisor 具有以下占位符:
- instructions 接收原始系统消息的占位符。
- long_term_memory 用于接收检索到的对话记忆的占位符。
组件重命名:
- 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-
- org.springframework.ai.chat.memory.jdbc → org.springframework.ai.chat.memory.repository.jdbc
- JdbcChatMemoryAutoConfiguration → JdbcChatMemoryRepositoryAutoConfiguration
- spring.ai.chat.memory.<storage>… → spring.ai.chat.memory.repository.<storage>…
其他升级请查看官方更新日志:https://docs.spring.io/spring-ai/reference/upgrade-notes.html#upgrading-to-1-0-0-RC1
小结
AI 发展速度很快,对各行各业的影响也很大。充分了解和掌握 AI 知识,对日常工作提效或以后跳槽都有很大的帮助,让我们一起行动起来,拥抱这场 AI 盛宴吧。
本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、LangChain4j、Dify、AI Agent、MCP、Function Call、RAG、向量数据库、Prompt、多模态、向量数据库、嵌入模型等内容。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。