Spring AI 2.0 系列(一):Spring AI 2.0升级了什么?

Spring AI 2.0 接入智谱GLM:无需starter的兼容实践 大模型API兼容性是现代AI工程的核心基础,其本质在于标准化接口(如OpenAI兼容协议)对底层调用逻辑的抽象能力。Spring AI 2.0通过重构为‘AI流水线引擎’,将模型接入解耦为ChatModel接口实现,使符合/v1/chat/completions规范的国产模型(如智谱GLM系列)天然具备零依赖集成条件。这种设计不仅规避了vendor lock-in风险,更释放出RAG、Tool Calling等高级能力的统一调度价值。在政务、航空、客服等强调可控性与成本敏感的生产场景中,手动配置智谱API+ 阅读详情

Spring AI 2.0 系列(一):Spring AI 2.0升级了什么?

本文基于 Spring AI 2.0.2。2.0 于 2026 年 6 月正式 GA,2.0.2 是当前稳定维护版本;2.1.0-RC1 虽已发布,但仍属候选版本,生产项目建议先以 2.0.2 为基准。具体 API 以官方 Release Notes 和对应版本文档为准。

官网学习入口:spring.io/projects/spring-ai#learn,可自行选择对应版本。
中文参考手册:Chat Client API :: Spring AI 参考手册

这是 Spring AI 2.0 系列的第一篇。这篇会先花点篇幅把 Spring AI 的核心概念对齐,再看 2.0 的升级;如果你已经比较熟悉 Spring AI,可以直接跳到第四节看 2.0 的定位变化;如果想更多了解Spring AI,建议按顺序读。

一、Spring AI 是什么

Spring AI 是 Spring 官方推出的 AI 应用框架,面向 Java 开发者。它的目标很直接:让写 AI 功能和写其他 Spring 组件差不多——用 Starter、自动配置、统一抽象把模型接入和周边工程问题包起来,开发者主要关注业务逻辑。

它不是某个模型的 SDK 封装,也不是一个实验性工具。从设计上看,它要解决的是 Java 应用接入大模型时的一整串工程问题:换模型要不要改业务代码、多轮上下文怎么管、模型返回的 JSON 怎么稳定映射、工具调用由谁执行、RAG 怎么接、生产环境怎么观测。这些问题不是某一个模型能解决的,而是应用框架该解决的。

二、核心概念:先认识这几个抽象

在展开特性之前,先把 Spring AI 里几个常打交道的概念对齐。后面看 2.0 的变化会顺很多,因为 2.0 主要是在调整这些抽象之间的职责边界,而不是发明一堆新品类。

概念解决什么问题
ChatModel底层模型调用抽象,屏蔽供应商差异
ChatClient面向应用开发者的高层 API,日常写业务主要用它
Advisor在请求前后插入记忆、工具调用、RAG、日志等逻辑
ToolCallback把 Java 方法注册成模型可调用的工具
Chat Memory多轮对话上下文管理
结构化输出把模型输出映射成 Java 对象
RAG / VectorStore接向量库做检索增强
可观测性指标、日志、评估、原生镜像等生产化能力

其中 ChatModel 和 ChatClient 的关系值得单独说一句:ChatModel 是底层积木,ChatClient 是应用层门面。1.x 里两者的边界还比较模糊,2.0 则把这条线划得更清楚。

三、主要特性与能力

下面这些能力,是 Spring AI 长期提供的。2.0 没有推翻它们,而是把它们重新组织到更可组合的架构上。

可移植的模型抽象。 通过 ChatClient 和 ChatModel,可以用一致的方式调用不同供应商的模型,比如 OpenAI、Anthropic、Google、Ollama、Azure OpenAI 等。业务代码尽量不直接依赖某一家 SDK,换模型时改动范围可控。

提示与输出管理。 支持提示填充(Prompt Filling),把相关数据注入到发给模型的提示里;也支持结构化输出(Structured Outputs),把模型返回直接映射成 Java 对象,方便程序处理。

函数调用(Function Calling)。 模型可以根据对话内容,请求执行预先定义好的客户端函数或工具,从而访问实时信息或执行具体操作,比如查数据库、调 API。对应到 Spring AI 的抽象,就是 ToolCallback 和工具调用管线。

对话记忆(Chat Memory)。 模型本身是无状态的,框架负责维护和管理对话历史,让模型能理解上下文,进行连贯的多轮对话。

检索增强生成(RAG)。 内置对 RAG 模式的支持。可以把企业文档存进向量数据库(PGVector、Chroma、Milvus 等),提问时先检索相关内容,再作为上下文发给模型,减少幻觉。

可观测性与评估。 提供对 AI 操作的可观测性支持,也包含评估工具,帮助检测和防止模型产生幻觉。

面向生产的特性。 继承 Spring Boot 的生产就绪理念,支持虚拟线程、GraalVM 原生镜像,并与 Spring Boot DevTools、Docker Compose、Testcontainers 有较好集成。

四、定位与优势

对于已经在用 Spring 生态的团队,Spring AI 的主要优势可以概括为三点。

对 Spring 开发者友好。 熟悉 Spring Boot 的话,用 Spring AI 会比较自然。它提供 Starter、自动配置和配置属性,上手成本低。

避免重复造轮子。 它借鉴了其他语言 AI 应用框架的经验,但专为 Java 和 Spring idioms 设计,省去在 Java 里从头搭 AI 集成基础设施的麻烦。

企业级就绪。 从可观测性、可测试性到原生镜像支持,设计时就考虑了生产环境,而不是只做一个实验性工具。

五、1.0 的边界:能调模型,但工具循环还在 ChatModel 里

Spring AI 1.0 的核心贡献,是让 Java 开发者能以 Spring 惯用的方式调用大模型:统一的 ChatClient、可移植的模型抽象、结构化输出、基础 RAG。它解决的是“Java 生态能比较顺地接上 AI”这个问题。

但 1.x 有一个明显的架构特征:工具调用的执行循环写在各个 ChatModel 内部。 OpenAI、Anthropic、Ollama、MistralAI、DeepSeek、Bedrock Proxy、MiniMax 等模型实现里都有自己的工具调用循环。

这带来两个问题:一是工具循环对开发者更像黑盒,不同模型的行为可能有细微差异;二是工具调用很难像记忆、RAG、日志那样,作为 Advisor 链中的一环被组合和观测。1.x 里工具注册还依赖 toolNames() 和 SpringBeanToolCallbackResolver,按 Bean 名称在请求时隐式解析,用起来方便,但来源不够显式。

所以 1.0 的边界很清楚:它让 Java 能调模型,但工具调用、记忆、结构化输出这些能力还没有完全围绕同一条应用层管线组织起来。

六、2.0 的定位变化:ChatClient 到应用层,ChatModel 退到底层

Spring AI 2.0 于 2026 年 6 月正式 GA。如果说 1.0 解决了“Java 能调用大模型”,2.0 的核心目标,是让 Java 开发者能以工程化、可组合的方式构建生产级 Agent 应用。

最关键的信号有两个。官方把 ChatClient 定位为最常见的用户面 API,把 ChatModel 定位为更底层的 building block;与此同时,1.x 中硬编码在各个 ChatModel 里的工具调用循环被整体移除,上移到 ChatClient 的 Advisor 管线中,由 ToolCallingAdvisor 编排,或者由用户自行控制 DefaultToolCallingManager 循环。

这两件事合在一起,指向同一个结论:2.0 不再只是一个模型调用工具,而是在把 ChatClient + Advisor 做成 Agent 应用的应用层。 模型是底层积木,Advisor 管线才是应用开发者日常编排的地方。后面的工具调用外置、记忆窗口对齐、结构化输出增强、Options 重构,都可以放在这个视角下理解。

七、2.0 的具体升级

1. 基础架构与工程化:门槛提高,但基座更一致

这是 2.0 最底层的变化,为上层能力提供更稳固的基座。

  • 强制 Java 21 与 Spring Boot 4 基线:Spring AI 2.0 要求 Java 21,并基于 Spring Boot 4.0/4.1 和 Spring Framework 7 构建。可以直接利用新一代 Spring 生态在可观测性、配置模型等方面的能力。
  • Jackson 3 与 JSON 处理增强:JSON 序列化库从 Jackson 2 升级到 Jackson 3,包名从 com.fasterxml.jackson 迁到 tools.jackson。同时新增 JsonHelper 工具类,让自定义 JsonMapper 和处理复杂 JSON 场景更统一。
  • 全面引入 JSpecify 空安全:整个代码库使用 JSpecify 注解标识参数和返回值的可空性,并配合 NullAway + ErrorProne 在编译期强制检查。这能减少 AI 应用里常见的空指针问题,也为 Kotlin 用户提供更符合语言习惯的空安全 API。
  • Options 配置体系重构:默认值统一在 Options 层定义,不再分散在模型或配置属性中;Options 只能通过 Builder 创建,且不可变,保证线程安全和可预测性;移除了 application 属性键中人为添加的 .options 段,并修复了大量相关缺陷。

迁移时注意:如果项目还在 Java 17 / Boot 3.x,必须先升 JDK 和 Boot,才能引入 Spring AI 2.0。自定义 ObjectMapper、序列化器、@JsonIgnore 等 Jackson 2 相关代码要逐一验证;旧构造器创建 Options 的代码改成 Builder;空安全要在消费端配置 NullAway / ErrorProne 才真正生效,只加 JSpecify 注解不会自动强制检查。

2. 工具调用完全外置:2.0 最核心的架构变化

这是 2.0 最核心的优化,对应前面说的“函数调用”能力。它把 Agent 的构建能力从 ChatModel 的黑盒里解放出来。

  • 工具调用逻辑完全外置与统一:1.x 中工具调用的执行循环硬编码在各个 ChatModel 内部,开发者无法干预。2.0 移除了所有 ChatModel 中的内置循环,把工具执行的责任上移,统一由 ChatClient 通过 ToolCallingAdvisor 编排。工具调用逻辑在不同模型间变得一致,并且可组合、可观测、可扩展。
  • 工具调用循环升级为递归 Advisor:工具调用的循环能力不再隐藏,而是作为一种递归 Advisor 存在于 Advisor 链中。可以像配置记忆、脱敏 Advisor 一样,在统一的“洋葱模型”管线里装配和管理工具调用、结构化输出校验重问等需要多轮交互的逻辑。
  • 更灵活、安全的工具注册:移除了通过 Bean 名称隐式解析工具的 toolNames() API 和 SpringBeanToolCallbackResolver。工具必须显式注册为 ToolCallback Bean,并通过 .tools() 方法直接传入,来源和范围更明确。.tools() 现在可以直接接受 ToolCallback、ToolCallbackProvider 及其集合或数组。
  • 新增工具搜索 Advisor(按需发现):新增 ToolSearchToolCallingAdvisor,支持 LLM 按需发现和调用工具,而不是每次请求加载全部工具定义。它内置三种 ToolIndex:向量存储、Lucene、正则。这对拥有大量工具的企业级 Agent 场景很有用,可以控制 prompt 膨胀。

另外,ToolCallAdvisor 重命名为 ToolCallingAdvisor,旧名保留为废弃子类,给编译警告而不是直接编译错误,迁移时留意一下。

迁移时注意:把 toolNames() 或按 Bean 名称注册的工具改成显式 ToolCallback Bean,并在 .tools() 中传入;依赖旧 ToolCallAdvisor 的代码切到 ToolCallingAdvisor;工具数量多时,评估 ToolSearchToolCallingAdvisor,不要一次性加载全部定义;检查自定义 ChatModel 子类是否依赖了被移除的内部工具循环。

3. Chat Memory 与结构化输出:不改变大 API,但影响生产质量

这些优化对应前面说的“对话记忆”和“结构化输出”能力,提升多轮对话的可靠性及数据处理的健壮性。

  • 记忆窗口的轮次边界对齐:MessageWindowChatMemory 在消息窗口溢出时,会向前推进到最近的 USER 消息进行淘汰,而不是把一轮对话从中间切断,保证上下文的逻辑完整性。
  • 修复工具调用场景下的记忆重复问题:在工具调用的后续提示中,避免重复前置已经存储的记忆消息,同时仍将最新的工具响应保留在记忆中。
  • JdbcChatMemoryRepository 增强:现在可以通过编程方式访问 spring_ai_chat_memory 表中的 timestamp 字段,Dialect 接口改用默认方法,自定义方言更简单。
  • 结构化输出 API 增强:ChatClient.entity() 新增 EntityParamSpec,支持在单次调用中更精细地控制结构化输出的参数。

2.0.2 还有一个记忆基础设施的修复值得单独提:Neo4j ChatMemoryRepository 的索引被纠正。此前创建的索引引用了错误的节点属性,导致每次会话查找退化为全标签扫描;2.0.2 启动时会创建正确的新索引,旧索引需要手动清理。如果你用 Neo4j 做记忆存储,升级后建议执行文档里的 DROP INDEX 语句。

迁移时注意:自定义 ChatMemory 或依赖旧窗口淘汰行为的,验证轮次边界变化是否符合业务预期;使用 JdbcChatMemoryRepository 自定义 Dialect 的,检查是否需要适配新的默认方法;结构化输出如果有复杂参数控制需求,可以试试 EntityParamSpec;使用 Neo4jChatMemoryRepository 的项目,升级 2.0.2 后手动移除过期索引。

4. 生态与集成:一边收敛,一边扩展

  • 模型提供商收敛:核心项目支持的模型提供商列表被精简和聚焦。OpenAI 从 3 个变体(Azure、HTTP、SDK)收敛为 1 个 SDK;Anthropic 从 2 个变体(HTTP、SDK)收敛为 1 个 SDK。spring-ai-azure-openai 模块被移除,Azure OpenAI 功能通过标准 spring-ai-openai 模块提供,依赖需要从 spring-ai-azure-openai 替换为 spring-ai-openai。Vertex AI 的非 embedding 模块、ZhipuAI、OCI GenAI 也被移出主仓库或独立维护。
  • 向量存储与语义缓存扩展:新增 Amazon S3、Infinispan、Amazon Bedrock Knowledge Base 等向量存储后端;引入基于 Redis 的语义缓存 Advisor,可以缓存语义相似的查询,减少重复模型调用。
  • 厂商集成模块独立:像 Azure Cosmos DB 这类厂商特定集成模块,从核心仓库独立出去,由厂商自行维护和发布,拥有独立发布节奏。

2.0.2 在可观测性上还补了一块:OpenAI 文本转语音、转写模型,ElevenLabs TTS 模型以及 Stability AI 图像模型,在存在 ObservationRegistry 时会报告 observation,产生新的指标序列和 span。内容日志处理器默认关闭,需要显式开启。

迁移时注意:使用 spring-ai-azure-openai 的项目替换为 spring-ai-openai,并按 Azure 部署方式调整配置;用了 Vertex AI 非 embedding 能力、ZhipuAI 或 OCI GenAI 的,检查是否已迁移到独立模块或替代提供商;高频重复查询场景可以评估 Redis 语义缓存 Advisor;依赖可观测性数据的,升级 2.0.2 后验证 TTS、转写、图像调用的指标和 span 是否符合预期。

八、1.x 到 2.0 变化对比

维度1.x2.0(含 2.0.2)实际影响
定位模型调用工具Agent 编排框架架构设计从“调模型”转向“编排 Advisor”
工具循环ChatModel 内置ChatClient + ToolCallingAdvisor 外置可组合、可观测;自定义工具需显式注册
工具注册toolNames() 隐式解析ToolCallback Bean + .tools() 显式传入来源更明确,但需要迁移代码
配置Options 构造器,默认值分散Options Builder,默认值统一,不可变写法需迁移,线程安全提升
JSONJackson 2Jackson 3(tools.jackson)自定义序列化器需排查
空安全注解不强制JSpecify + NullAway 编译期强制消费端需配置工具链
模型提供商多变体收敛为 SDK 单实现;Azure 合并到 openai 模块依赖坐标需调整
基线Java 17 / Boot 3.xJava 21 / Boot 4.x必须先升 JDK 和 Boot
稳定版本1.x GA2.0.2(2.1 尚为 RC)生产项目以 2.0.2 为基准

九、一个最小示例:看工具如何进入 Advisor 管线

下面这段伪代码重点不在 API 细节,而在工具是怎么进入 Advisor 管线的。

// 1) 工具显式注册为 ToolCallback Bean,不再依赖 toolNames 隐式解析
@Bean
ToolCallback orderStatusTool() {
    return FunctionToolCallback.builder("orderStatus", ...)
        .description("查询订单状态")
        .build();
}

// 2) ChatClient 构建时装配 Advisor 管线
ChatClient chatClient = ChatClient.builder(chatModel)
    .defaultAdvisors(
        MessageChatMemoryAdvisor.builder(chatMemory).build()
        // ToolCallingAdvisor 也可以在这里显式装配
    )
    .build();

// 3) 请求时直接传入 ToolCallback
String answer = chatClient.prompt()
    .user("帮我查一下订单 A123 的状态")
    .tools(orderStatusTool)
    .call()
    .content();

1.x 里,工具循环发生在 ChatModel 内部;2.0 里,它是 Advisor 链中的一环。也就是说,你可以像插入记忆、脱敏、重试 Advisor 一样,对工具调用进行组合和观测。

十、升级检查清单

动手前逐项过一遍:

  • JDK 是否 21+?
  • Spring Boot 是否 4.x?
  • Jackson 依赖和自定义序列化器是否按 Jackson 3 排查过?
  • 是否还在用旧构造器创建 Options?改成 Builder。
  • 工具是否还依赖 toolNames() 或 Bean 名称隐式解析?改成显式 ToolCallback。
  • 是否用了 ToolCallAdvisor?考虑迁移到 ToolCallingAdvisor。
  • 是否用了 spring-ai-azure-openai?替换为 spring-ai-openai。
  • 自定义 ChatMemory 或 Dialect 是否需要适配轮次边界和默认方法?
  • 是否使用 Neo4jChatMemoryRepository?升级 2.0.2 后清理过期索引。
  • 消费端是否配置了 NullAway / ErrorProne,以享受编译期空安全校验?
  • 是否有大量工具场景,值得评估 ToolSearchToolCallingAdvisor?
  • 如果依赖可观测性,验证 TTS、转写、图像调用的 observation 是否按预期工作。

十一、国内生态补充:Spring AI Alibaba

国内生态里,阿里巴巴基于 Spring AI 开源了 Spring AI Alibaba。它在 Spring AI 的模型接入和 Advisor 链之上,增加了对阿里云模型、工具及云原生基础设施的深度适配,并提供了 Spring AI Alibaba Graph 作为 Agent 编排的底层运行时,以及包含 SequentialAgent、ParallelAgent、SupervisorAgent 等在内的 Agent Framework。对于需要复杂工作流和多智能体协作的国内团队,这是一个值得在 Spring AI 主线之外单独关注的方向,后续会另开一篇展开。

参考资料

  • Spring AI 2.1.0-RC1 and 2.0.2 Available Now:https://spring.io/blog/2026/10/23/spring-ai-2-1-0-RC1-available-now
  • Spring AI Upgrade Notes:https://docs.spring.io/spring-ai/reference/2.0-SNAPSHOT/upgrade-notes.html
  • Spring AI 项目主页:https://spring.io/projects/spring-ai
  • Spring AI 参考文档:https://docs.spring.io/spring-ai/reference/
  • 中文参考手册:https://docs.springframework.org.cn/spring-ai/reference/api/chatclient.html
Spring AI 2.0实战:构建智能航空AI Agent系统 人工智能正在重塑企业级应用开发模式,其中AI Agent(智能体)作为核心形态,通过大语言模型与业务系统的结合,实现了从简单问答到主动执行复杂任务的跨越。在Java后端领域,Spring Boot框架凭借其成熟的生态,成为构建这类智能应用的重要基础。Spring AI 2.0作为官方推荐的集成方案,提供了统一的模型接入、工具调用与会话管理能力,让开发者无需深究底层API差异。基于这一技术栈,一个智能航空项目展示了如何通过航班查询、智能客服与行程助手三个典型场景,将传统规则引擎升级为具备多轮对话与自动决策能力 阅读详情

相关推荐

Spring AI-97.升级说明

Spring AI 版本升级指南摘要: 本文详细介绍了从1.x到2.2版本的升级要点。1.x到2.0涉及模块化重构、API统一和配置变更,需调整依赖和代码。2.0到2.1新增云原生支持、优化可观测性和智能体架构。2.2版本则扩展了向量存储支持、引入流式API并优化性能。升级建议包括:检查依赖冲突、更新测试策略、参考官方文档和社区支持。各版本需适配对应的Spring Boot和Java版本,向量存储支持也随版本迭代不断扩展。

无 1453

Spring AI 1.x 系列【61】Spring AI 2.0 升级指南

Spring AI 2.0 的底座绑定 Spring Boot 4.0 和 Spring Framework 7.0,全面落地 Jakarta EE 11,与 Boot 3.x 的向后兼容彻底断开。还在 3.x 上的项目需先完成底座迁移,然后才轮到 AI 层。

记录知识、锤炼自我 1057

泛微E9与金蝶云星空单点登录集成实战指南

本文详细介绍了泛微E9与金蝶云星空单点登录(SSO)集成的实战指南,包括前期准备、核心代码实现、常见问题排查及安全加固建议。通过集成,企业可实现一次登录全网通行,显著提升工作效率和安全性。文章特别强调了签名生成机制和跳转URL构造的关键技巧,帮助开发者避免常见错误。

weixin_30689307的博客 535

【Spring AI】 2.0升级指南一

Spring AI 2.0.0对Advisor层和工具调用机制进行了重构。主要变更包括:1)模块重组,将ToolSearchToolCallingAdvisor独立为单独模块并规范命名;2)新增ToolSearchToolCallingAdvisor的自动配置,支持通过属性开关和多种索引类型(regex/lucene/vector)实现工具筛选;3)调整Advisor执行顺序,使工具调用和记忆管理更合理协作;4)工具调用机制改进,移除internalToolExecutionEnabled配置,改为通过是否

海兰 455

海思SD3403/SS928开发(二)环境搭建:从零到一构建高效开发环境的实战指南

本文详细介绍了海思SD3403/SS928开发板环境搭建的全流程,包括Ubuntu系统选择、基础配置、开发环境依赖安装、SDK工具链配置等关键步骤。通过实战经验分享,帮助开发者避免常见问题,快速构建高效开发环境,提升开发效率。

weixin_28717683的博客 286

反向代理的隐形陷阱:为何你的HTTPS请求会降级为HTTP?

本文深入探讨了Nginx反向代理中HTTPS降级为HTTP的隐形陷阱及其安全风险,分析了五大降级诱因,包括协议信息丢失、重定向配置错误等,并提供了完整的防御性配置方案和实战指南,帮助开发者确保Web应用的安全性。

kotlin6android的博客 453

JAVA:Spring AI 2.0 升级指南 Agent 开发的新范式

Spring AI 2.0 升级要点摘要 基础依赖:需升级至Spring Boot 4.0 + Jakarta EE 11,Jackson 3包名变更,全面支持JSpecify空安全注解。 架构重构:明确ChatClient(业务层API)与ChatModel(底层模型)分工,前者内置Advisor链,推荐优先使用。 工具调用革新: 工具执行逻辑统一移至ToolCallingAdvisor,废弃旧API(如FunctionCallback),改用@Tool注解或MethodToolCallback显式注册。

木头 498

知识图谱的数据挖掘与分析

1. 背景介绍 1.1 数据挖掘的崛起 随着互联网的普及和大数据技术的发展,数据挖掘已经成为了计算机科学领域的热门研究方向。数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过计算机科学、统计学、信息论等多学科交叉的方法,挖掘出有用信息和知识的过程。数据挖掘的目标是从数据中发现有

AI天才研究院 1600

[AI工程] Spring AI第一篇:2.0 到底升级了什么?从 Prompt、RAG、MCP 到 Agent 应用实战

这两年 Java 开发者做 AI 应用,已经不只是调一个大模型接口这么简单了。企业数据怎么接入?工具怎么调用?RAG 怎么拆模块?Agent 工作流怎么控制? 如果项目本身就是 Spring Boot,那么 [Spring AI](https://spring.io/projects/spring-ai) 值得重点关注。它不是训练模型的框架,而是把企业数据、业务 API 和 AI 模型连接起来的应用框架。 Spring AI 2.0 的变化尤其大:升级到 Spring Boot 4 基线,同时重构了 M

OxYGC 1064

SCI、中科院1区算法应用:(BWO-CNN-BiGRU-Attention)白鲸优化深度学习-融合注意力机制预测程序代码!包含特征可视化,数据Excel导入,直接运行!

BWO 白鲸优化算法,于2022年发表在SCI、中科院1区期刊《Knowledge-Based Systems》上。我们利用该高创新算法对我们的CNN-BiGRU-Attention时序和空间特征结合-融合注意力机制的回归预测程序代码中的超参数进行优化。

weixin_48747334的博客 3264

4、双足机器人mpc基础概念

机器人控制实际上不是连续的,是离散的,这就是控制信号的采样周期dt,一般每1ms对机器人发起一次控制信号。一般来说,dt越小,控制器的响应速度越快,但是由于预测的精度有限,如果控制时域过长,预测的误差会逐渐累积,导致控制器的性能下降。注意:1)在程序处理时,u的维度并不是由机器人的自由度确定的,是由其变量的个数及每个变量的空间维度确定,对于双足,采用力矩和力来控制,则u的维度是“2*2*3=12”。机器人实际运动过程中表现出来的状态x,x和xd是一致的,也包括运动速度ν、角速度ω、角度θ、位置p等。

1213

Spring AI 2.0.0-M2 发布:向量存储大升级

Spring AI 2.0.0-M2版本发布,带来20项新功能和多项改进。主要更新包括:增强向量存储支持(新增Amazon S3、Infinispan等后端)、Ollama嵌入模型可配置维度、JSON Schema灵活配置、OpenAI音频API支持等。该版本基于Spring Boot 4.0和Java 21,提供企业级AI集成能力,同时注意存在部分破坏性变更。这是2.x系列的第二个里程碑版本,标志着Spring AI生态系统的持续完善。

千木一枝的博客 1126

vue2 - 最新详细实现高德地图绘制动态热力图详细教程,在某区域或城市地图上做“热力图层“展示人流量、旅游人口密度、热量图、全国地区地理热力图,利用颜色的深浅表示密度或强度等场景(详细示例代码教程)

vue2,nuxt2,高德地图,热力图,绘制热力图层,报错,卡顿,出不来怎么办,无法关闭,怎么解决这个问题,出错,城市名称,城市某个街道,城区,省份,市区,县城,乡镇,村,各省份的热力图,交通流量,人口流量,密度,旅游出行,人口数量,颜色介绍,深浅代表,人流量,vue2使用高德地图实现某个区域热力图,vue高德地图api加载热力图及关闭,接收热力图数据并渲染热力图,关掉热力图,Vue使用高德API制作热力图,热力图加载不出来,电子围栏围住热力图,vue2中使用高德地图渲染热力图组件,高德地图使用热力图详细教

✅ 精选推荐文章 4201

Spring AI 2.0 GA:Java AI 生态进入 1.x 与 2.x 并存期,开发者该如何升级与选型

核验 Spring AI 2.x 的最低 JDK 与 Spring Boot 要求,与团队基线比对;以统一管理版本,锁定单点版本号,便于升级与回滚;用五维评估表留存一次备选框架评估记录(含"无数据"项),作为未来重评的基线;从第一天起建立提示词版本管理与模型调用的可替换抽象,为回归测试预留空间。跑一次保存基线;明确留在 1.x 的条件与退出触发信号(2.x 独有能力需求、依赖方强制、1.x 进入 EOL);每季度查看一次官方 Releases 页面[3],确认维护线状态;

2401_88107776的博客 352

【报错解决】OpenClaw 报错 `openclaw: command not found`:全局命令未加入系统 PATH 的深度排查与修复指南

在国产AI工具链开发中,OpenClaw作为关键命令行工具常出现command not found报错。本文深度分析该问题的根源——Linux环境变量PATH未包含用户级安装目录(~/.local/bin)。通过四种解决方案(临时PATH修改、永久配置、软链接、虚拟环境处理)和排错Checklist,揭示"命令存在却找不到"的本质是路径配置问题,特别适用于Docker/国产Linux/非root环境。文中强调理解Linux工具链机制对国产AI开发的重要性,并指出这是开发者掌握环境

博客 5383

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Spring AI 2.0.0 升级注意事项:Spring Boot 4、RAG Advisor、Tool Calling、MCP 怎么看

Spring AI 2.0.0 不是单纯多几个 API。统一模型调用框架Java Agent 开发基础设施推进。Tool Calling 进 Advisor 链路。Memory 要显式传 conversationId。MCP 更接近生产级集成方式。工具多了以后,也开始考虑 Tool Search。这些变化对应的是同一类工程问题:让 Agent 更适合承载复杂任务,而不是只做一层聊天封装。学习和现有 Demo:继续用 1.1.7新项目且准备上 Boot 4:再看 2.0.0。

weixin_44094991的博客 645

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【Spring AI】 2.0升级指南三

本文摘要了Spring AI框架的多项重要更新: 聊天记忆优化:强制要求显式传入会话ID防止串话,移除PromptChatMemoryAdvisor改用更规范的MessageChatMemoryAdvisor; MCP生态整合:将MCP注解、传输模块及客户端定制器统一迁移至Spring AI项目,部分字段改为必填; Anthropic模块重构:基于官方Java SDK重构,调整构造函数、默认参数及新增服务选项; 其他变更:包括JSON Schema生成逻辑统一、移除默认Temperature值、观测指标调整

海兰 499

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spring AI 2.0:Hello World

Spring Boot 4 + Spring 7 + IDEA 2025 + JDK17 ,Spring AI 的定位是:大模型基础对话 + RAG + MCP + Tool + Memory等基础功能。

人不风流枉少年 416

Spring AI 2.0 重磅升级,MCP 加持,AI 智能体开发迎来新标准

2026年6月,Spring官方正式发布Spring AI 2.0.0 GA版本,本次迭代并非简单的功能增补,而是底层架构、交互协议、开发模型的全方位重构,核心亮点是全面深度集成MCP(Model Context Protocol,模型上下文协议)2.0,彻底统一AI模型与外部工具、资源的交互标准,让Java生态AI智能体开发告别碎片化现状,迎来统一、高效、可落地的全新标准。

小筱在线博客 422

【Spring AI】 2.0升级指南二

本文介绍了Spring AI框架2.0.0版本的重要变更: JDBC聊天记忆优化:引入sequence_id列替代时间戳,解决不同数据库精度差异导致的消息排序问题,并提供了PostgreSQL迁移SQL示例。 Options类重构: 实现严格不可变性 集中默认值到构造函数 扁平化配置属性结构(移除.options层级) 统一命名规范(如N()改为n()) JSON工具类整合:将分散的JSON处理功能统一到JsonHelper类,简化API并提高一致性。 ChatClient工具调用改进: 自动注册ToolC

海兰 429

大模型应用技术之 Spring AI 2.0 变更说明

Spring AI 2.0.0-M1 发布重要里程碑版本,基于Spring Boot 4.0和Spring Framework 7.0构建,需Java 21运行环境。主要更新包括:新增Redis聊天记忆存储支持持久化会话;增强Redis向量存储功能,支持文本搜索和范围查询;原生集成OpenAI Java SDK,默认模型升级为gpt-5-mini;全面支持Claude 4.5模型;改进Google GenAI和Gemini集成;新增Azure Cosmos DB聊天记忆存储Starter;优化Model C

IT幻彩世界之炫酷 2415

Spring AI 2.0 和 Spring AI Alibaba,哪个更好?

三哥,Spring AI 2.0和Spring AI Alibaba,选哪个更好?这两个框架,一个背靠Spring官方,一个背靠阿里云,都是2026年Java AI开发领域最炙手可热的存在。Spring AI 2.0刚刚在2026年6月12日正式发布GA版本,基于Spring Boot 4.1和Spring Framework 7.0构建。而Spring AI Alibaba也于2026年5月13日发布了1.0 GA版本,至今已累计获得10k+ Star。

2601_94972895的博客 335

Spring AI 2.0 抽象升级:构建可替换、可观测的AI能力层

在大模型应用工程化进程中,‘模型即服务’已从简单调用演进为需兼顾可迁移性、可观测性与厂商解耦的系统能力。Spring AI 2.0 通过契约化抽象(ChatModel/EmbeddingModel)、分层选项(ModelOptions/ClientOptions)和依赖隔离机制,将LLM接入从‘适配器拼凑’升级为标准化工程实践。其技术价值在于支撑RAG、Agent等复杂场景下的多模型协同与动态治理,避免因API限流、版本冲突或埋点缺失导致的生产事故。本文围绕spring ai 2.0与智谱等国产模型的合规集

weixin_33717117的博客 482

Spring AI 2.0 + Spring Boot 4 完全指南 [2026]

Spring AI 是一个将 AI 工程引入 Spring 生态的应用框架。可以把它看作"Spring Data for AI"——熟悉的模式、企业级就绪、生产优先。对话补全(OpenAI、Anthropic、Google 等)嵌入向量和向量存储RAG(检索增强生成)函数调用/工具使用结构化输出到 POJO流式响应。

千木一枝的博客 2986

使用SpringAI升级Springboot2.0到3.0

2、SpringAI依赖添加 3、阿里大模型服务 4、MyBatisPlus升级 5、PageHelper升级 6、删除Swagger,换成Springdoc(重点注意,所有之前的注解必须删除干净,不然跑不起来) 7、完整POM

qq_42060824的博客 779

Spring AI 2.0.1-SNAPSHOT:企业级AI应用开发的终极依赖管理解决方案

在当今AI技术快速发展的时代,企业如何高效、稳定地集成AI能力到现有系统中成为了技术决策者面临的核心挑战。Spring AI作为Spring生态中的AI应用框架,通过其精妙的依赖管理机制,为企业提供了从零到一的AI集成完整解决方案。本文将深度解析Spring AI 2.0.1-SNAPSHOT版本的依赖管理体系,揭示其如何帮助企业构建可维护、可扩展的AI应用架构。 ## 🎯 企业AI集成的三大

gitblog_00353的博客 886
上一篇: 设计模式之访问者模式
LiaoYuan.Dai
博客等级 码龄7年 247粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值