AI在线 AI在线

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

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

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. 聊天记忆增强功能
  • InMemoryChatMemoryRepository(默认)。
  • JdbcChatMemoryRepository 对于关系数据库持久化支持。
  • 改进的 ChatMemory API,实现更灵活的对话历史管理。
  • 新 ChatMemoryRepository 允许不同的存储策略。
  • 添加 MessageWindowChatMemory 用于维护历史消息。
  • 改进属性命名以确保跨实现的一致性。
  • 支持各种存储后端:
  1. 增强的 MCP 工具回调配置
  • 在 MCP 客户端属性中添加了工具回调配置。
  • 支持 MCP 服务器中的完成规范。
  • 为 MCP 服务器添加了指令支持。
  • 向 WebFlux 和 WebMvc 传输提供程序添加了 SSE 端点参数。
  1. 提示工程文档增强
  • 添加提示工程模式文档。
  • 为开发人员提供有效提示设计的最佳实践。
  • 包括各种用例的示例和模式。
  1. 向量数据库存储功能增强
  • 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;

    @Autowired
    public 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 盛宴吧。

相关资讯

当心:AI 真的在抢你的工作!​

译者 | 陈峻审校 | 重楼你也许是被本文的标题吸引进来,而且感觉不寒而栗。 这实际上是全球性的自由职业在线平台 Fiverr 的 CEO 在给其全体员工的一封电子邮件中,所描述的一个严酷事实。 而且这并非个案。
5/22/2025 8:00:00 AM
陈峻

Github热门机器学习笔记:「从零构建大型语言模型」

本文经AIGC Studio公众号授权转载,转载请联系出处。 今天给大家推荐一份GitHub上很火的机器学习学习笔记《从零构建大型语言模型》,目前已经收获1.4K stars,,这份笔记完美展示了从零构建LLM的技术路线图,既有理论深度,又包含实践要点。 每个核心概念都配有清晰的示意图,便于理解和实践。
1/20/2025 9:41:29 AM
AIGC Studio

特朗普时代再临:科学界喜忧参半,AI与太空探索或成最大赢家

今天,特朗普将宣誓就任美国第47任总统,开启他的第二任期。 回看特朗普在第一任期(2017-2021)否认气候变化风险,并试图大幅削减科研资金的举措,科学界对于这位即将上任的美国总统的看法是:鉴于特朗普一直宣扬的要砍掉大量科研经费与大力支持马斯克的「政府效率部门」,预计他将放弃对环境和传染病等基础研究的支持,但可能会推动人工智能、量子研究和太空探索方面的工作。 科学家和工程师们因此也出现了两种截然不同的前景展望:科技公司、太空爱好者、人工智能(AI)开发者等期待未来几年他们将迎来有利政策,并对探索新的可能而感到无比兴奋。
1/21/2025 9:30:00 AM
新智元
  • 1