皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Spring AI 1.0.0 M8 发布

Spring AI 1.0.0 M8 发布

在审查M7版本后的API设计和弃用公告后,我们确认多项重大变更将在RC1预发布版本中引入破坏性更新。为此,我们新增了过渡性版本,使已弃用API与其替代方案能够共存,从而为开发者在升级到RC1前提供更顺畅的迁移体验。

以下是本次版本的主要变更:

  • 升级说明
  • 您可以使用 OpenRewrite 配方自动执行到 1.0.0-M8 的升级过程。此配方有助于为此版本应用许多必要的代码更改。在 Arconia Spring AI Migrations 中查找配方和使用说明。

新功能

  1. 聊天内存增强功能
  • 增强的聊天内存架构
    • 改进的ChatMemory API 可实现更灵活的对话历史记录管理
    • 新ChatMemoryRepository界面允许不同的存储策略
    • 新增MessageWindowChatMemory用于维护消息窗口
    • 改进了属性命名,以实现实现之间的一致性
    • 支持各种存储后端:
      • InMemoryChatMemoryRepository(默认)
      • JdbcChatMemoryRepository对于关系数据库
    • 请参阅 内存类型 和 内存存储 以了解有关聊天内存配置的更多详细信息。
  1. 模板渲染*
  • 引入 TemplateRenderer 进行提示模板
    • 用于模板渲染的灵活新 API,可在不同的模板引擎之间提供一致的接口
    • 包括对内置函数StTemplateRenderer和自定义验证选项的新功能。在此处查看如何使用它。
    • 直接集成到 ChatClient 中,以简化提示模板
    • 为不需要模板的情况添加NoOpTemplateRenderer
    • 相关内容: “在 ChatClient 中配置 TemplateRenderer”, “更新文档以提及 NoOpTemplateRenderer”
  1. MCP 改进
  • 增强的 MCP 工具回调配置
    • 向 MCP 客户端属性添加了工具回调配置
    • 支持 MCP 服务器中的完成规范
    • 添加了对 MCP 服务器的指令支持
    • 向 WebFlux 和 WebMvc 传输提供程序添加了 SSE 端点参数
  1. 提示工程模式
  • 添加 Prompt Engineering Patterns 文档
    • 关于高级提示工程技术的新综合文档
    • 为开发人员提供有效提示设计的最佳实践
    • 包括各种使用案例的示例和模式
  1. Vector Store 增强功能
  • Cosmos DB Entra ID 支持和修复
    • 为 Cosmos DB 添加了 Azure Entra ID(以前称为 Azure AD)身份验证
    • 改进了 Azure 部署的安全性和身份验证选项
  • Cassandra Vector Store 改进
    • 修复了 Cassandra 聊天内存中的消息顺序
    • 添加了更好的错误消息并修复了各种问题

弃用

需要注意的重要弃用包括:

  1. 聊天客户端增强功能
    • 已更新ChatClient,以确保用户和系统提示始终在 advisor 执行之前呈现。此更改将AdvisedRequest 和 AdvisedResponsAPI 替换为eChatClientRequest 和ChatClientResponse 。
  2. 提示模板和 Advisors
    • 与提示创建和 advisor 自定义相关的类和方法已弃用,取而代之的是构建器模式和TemplateRenderer 界面。
  3. QuestionAnswerAdvisor 弃用
    • 弃用了依赖于简单字符串的userTextAdvise构造函数和构建器方法。
  4. 聊天内存配置
    • 该属性spring.ai.chat.memory.jdbc.initialize-已弃用,取而代之的是 schemaspring.ai.chat.memory.repository.jdbc.initialize-schema
  5. 文件处理
    • 该 API 取代了已弃用的 API,如DocumentPostProcessor 、 DocumentCompressor和DocumentRankerDocumentSelector
  6. 聊天内存弃用
    • @Deprecated List<Message> get(String conversationId, int lastN);已在ChatMemory 中弃用。

贡献

还有许多其他的重构、错误修复、文档增强,由广泛的贡献者进行。如果我们还没有收到您的 PR,我们会的,请耐心等待。感谢