当前位置: 首页 > news >正文

SpringAI更新:废弃tools方法、正式支持DeepSeek!

AI 技术发展很快,同样 AI 配套的相关技术发展也很快。这不今天刚打开 Spring AI 的官网就发现它又又又又更新了,而这次更新距离上次更新 M7 版本才不过半个月的时间,那这次 Spring AI 给我们带来了哪些惊喜呢?一起来看。

重点升级点

我们先来判断 Spring AI M8 的重点升级点:

  1. 废除了 tools 方法,取而代之的是 toolCallbacks 方法,写法对比如下:
    1. 早期版本:
// Old code in M7 - no longer works correctly in M8
chatClient.prompt("What day is tomorrow?").tools(toolCallback).call().content();
2. 最新版本:
// Updated code for M8
chatClient.prompt("What day is tomorrow?").toolCallbacks(toolCallback).call().content();
  1. 聊天记忆增强功能
    • 改进的 ChatMemory API,实现更灵活的对话历史管理。
    • 新 ChatMemoryRepository 允许不同的存储策略。
    • 添加 MessageWindowChatMemory 用于维护历史消息。
    • 改进属性命名以确保跨实现的一致性。
    • 支持各种存储后端:
      • InMemoryChatMemoryRepository(默认)。
      • JdbcChatMemoryRepository 对于关系数据库持久化支持。
  2. 增强的 MCP 工具回调配置
    • 在 MCP 客户端属性中添加了工具回调配置。
    • 支持 MCP 服务器中的完成规范。
    • 为 MCP 服务器添加了指令支持。
    • 向 WebFlux 和 WebMvc 传输提供程序添加了 SSE 端点参数。
  3. 提示工程文档增强
    • 添加提示工程模式文档。
    • 为开发人员提供有效提示设计的最佳实践。
    • 包括各种用例的示例和模式。
  4. 向量数据库存储功能增强
  • Cosmos DB Entra ID 支持和修复:
    • 为 Cosmos DB 添加了 Azure Entra ID(以前称为 Azure AD)身份验证;
    • 改进 Azure 部署的安全性和身份验证选项。
  • Cassandra 向量存储改进:
    • 修复了 Cassandra 聊天内存中的消息顺序。
    • 添加了更好的错误消息并修复了各种问题。

官方更新日志:https://spring.io/blog/2025/04/30/spring-ai-1-0-0-m8-released

DeepSeek SDK 正式发布

除了以上内容之外,官方的更新日志中没提到的,还有对于 DeepSeek SDK 的正式发布,之前版本中虽然有关于 DeepSeek 的支持,但并不是真正的支持,只是让 DeepSeek 使用 OpenAI 协议实现对 DeepSeek 的调用,而不是真正的 DeepSeek SDK 支持。

那么 OpenAI 协议和真正的 SDK 支持的区别是啥呢?

简单来说,举个简单的例子你就明白了,就是 OpenAI 相当于你上班,因为你自己没车,所以你只能蹭同事的车;而有了 SDK 的支持之后,相当于你有自己的车了,不需要在蹭别人的车了。

也就意味着,DeepSeek 可以和 OpenAI 或其他使用 OpenAI 协议的大模型并存了,之前是二选一,你(DeepSeek)使用了 OpenAI 协议,那么其他人就没办法使用 OpenAI 协议了,现在你有自己的 SDK 了,就可以和其他兼容 OpenAI 或 OpenAI 一起使用了。

DeepSeek 使用变化

DeepSeek SDK 的具体使用如下。

  1. 准备工作:在 DeepSeek 申请 APIKey。
  2. 添加依赖
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-deepseek-spring-boot-starter</artifactId>
</dependency>
  1. 设置配置信息
spring.ai.deepseek.api-key=YOUR_API_KEY
spring.ai.deepseek.chat.options.model=deepseek-chat
spring.ai.deepseek.chat.options.temperature=0.8
  1. 编写调用代码
@RestController
public class ChatController {private final DeepSeekChatModel chatModel;@Autowiredpublic ChatController(DeepSeekChatModel chatModel) {this.chatModel = chatModel;}// 普通输出@GetMapping("/ai/generate")public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {return Map.of("generation", chatModel.call(message));}// 流式输出@GetMapping("/ai/generateStream")public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {var prompt = new Prompt(new UserMessage(message));return chatModel.stream(prompt);}
}

小结

AI 发展速度很快,对各行各业的影响也很大,充分了解和掌握 AI 知识,对日常工作提效或以后跳槽都有很大的帮助,让我们一起行动起来,拥抱这场 AI 盛宴吧。

本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、LangChain4j、Dify、Agent、MCP、Function Call、RAG、向量数据库、Prompt、多模态、向量数据库、嵌入模型等内容。

http://www.xdnf.cn/news/442009.html

相关文章:

  • 【springcloud学习(dalston.sr1)】Eureka 客户端服务注册(含源代码)(四)
  • 【行为型之中介者模式】游戏开发实战——Unity复杂系统协调与通信架构的核心秘诀
  • 3337. 字符串转换后的长度 II
  • 【更新】全国省市县-公开手机基站数据集(2006-2025.3)
  • NVMe简介2
  • UniApp 微信小程序绑定动态样式 :style 避坑指南
  • 电脑开机提示按f1原因分析及解决方法(6种解决方法)
  • Baklib内容中台AI革新智能服务实践
  • 【评测】免费体验dify工作流模式下腾讯语音转文字speech2text服务
  • 软件逆向基础-CE篇
  • 剖析提示词工程中的递归提示
  • 安全合规检查开源项目ComplianceAsCode/content详解及操作系统新产品开发适配指南
  • upload-labs通关笔记-第5关 文件上传之.ini绕过
  • 探索AI新领域:生成式人工智能认证(GAI认证)助力职场发展
  • 全流量解析:让安全防御从“被动挨打”升级为“主动狩猎”
  • 一分钟了解大语言模型(LLMs)
  • 濒危仙草的重生叙事:九仙尊米斛花节如何以雅集重构中医药文化IP
  • NNLM神经网络语言模型总结
  • react中安装依赖时的问题 【集合】
  • Android Studio Meerkat与Gradle构建工具升级实战指南
  • 2025年中国主流DevOps平台对比分析:Gitee、阿里云效与GitLab CE的技术适配与合规实践全景解读
  • excel使用笔记
  • Qt笔记---》.pro中配置
  • 【IDEA】注释配置
  • 西门子WinCC Unified PC的GraphQL使用手册
  • 常见排序算法及其java实现
  • 《Python星球日记》 第69天:生成式模型(GPT 系列)
  • JVM学习专题(二)内存模型深度剖析
  • STMCubeMX使用TB6612驱动编码轮并进行测速
  • 微信开发者工具里面模拟操作返回、录屏、网络速度、截屏等操作