Spring AI 1.0 GA 发布
Spring AI 1.0 现已正式发布,随之一起发布的还有一首新歌以及一个新 logo。
Spring AI 的核心是ChatClient
,一种可移植且易于使用的 API,是与 AI 模型交互的主要接口。
Spring AI 的 ChatClient 支持调用20 个AI 模型,从 Anthropic 到 ZhiPu。它支持多模态输入和输出(当底层模型支持时)以及结构化响应——通常以 JSON 格式呈现,以便于在应用程序中处理输出。
有关 AI 模型功能集的详细比较,可访问参考文档中的聊天模型比较
要构建高效的 AI 应用程序,一系列支持功能至关重要。增强型 LLM 的概念(如下图所示)正是为此而生,它为基础模型添加了数据检索、对话记忆和工具调用等功能。这些功能允许你将自己的数据和外部 API 直接引入模型的推理过程。
在 Spring AI 中实现此模式的关键是 Advisor。
Spring AI ChatClient 的一个关键特性是 Advisor API。这是一个拦截器链,允许你通过注入检索数据和对话内存来修改传入的提示。可以在参考文档的部分中阅读有关它们的更多信息。
Spring AI 还提供了一个可移植的向量存储抽象,支持从 Azure Cosmos DB 到 Weaviate 的 20 种不同的向量数据库。
Spring AI 包含一个轻量级、可配置的 ETL(提取、转换、加载)框架,可简化将数据导入向量存储的过程。它通过可插拔的 DocumentReader 组件支持多种输入源,包括本地文件系统、网页、GitHub 存储库、AWS S3、Azure Blob Storage、Google Cloud Storage、Kafka、MongoDB 和兼容 JDBC 的数据库。通过内置的分块、元数据充实和嵌入生成支持,可以轻松地将几乎任何地方的内容引入 RAG 管道。
Spring AI 还广泛支持检索增强生成 (RAG) 模式。可以从简单的QuestionAnswerAdvisor
开始,为提示注入相关上下文,或者使用RetrievalAugmentationAdvisor
扩展到更复杂的模块化 RAG 管道,为你的应用量身定制。
可以在参考文档的部分中阅读有关它们的更多信息。
对话历史记录是创建 AI 聊天应用程序的重要组成部分。Spring AI 通过ChatMemory
接口支持这一点,该接口可管理消息的存储和检索。MessageWindowChatMemor
实现在一个滑动窗口中保存最近的 N 条消息,并随着对话的进行不断更新。它委托给一个ChatMemoryRepository
,目前为 JDBC、Cassandra 和 Neo4j 提供了存储库实现,更多实现即将推出。
另一种方法是使用VectorStoreChatMemoryAdvisor
。它不仅仅记住最新消息,还使用向量搜索从过去的对话中检索语义最相似的消息。
可以在参考文档的部分中阅读有关它们的更多信息。
Spring AI 可以通过 tools(让 AI 检索外部信息或采取实际行动的自定义函数)轻松扩展模型的功能。Tools 可以获取当前天气、查询数据库或返回最新消息,帮助模型回答训练数据之外的问题。它们还可以触发工作流、发送电子邮件或更新系统--使模型成为应用程序的积极参与者。
可以在参考文档的部分中阅读有关它们的更多信息。
Spring AI 可以轻松检查 AI 生成内容的准确性和相关性。它配备了灵活的Evaluator
界面和两个方便的内置评估器:
- RelevancyEvaluator – 帮助确定 AI 的响应是否与用户的问题和检索到的上下文真正匹配。它非常适合测试 RAG 流程,并使用可自定义的提示来询问另一个模型:“根据检索到的内容,这个响应是否合理?”
- FactCheckingEvaluator – 根据提供的上下文验证 AI 的响应是否符合事实。它的工作原理是要求模型判断某个语句是否在逻辑上得到文档的支持。可以使用 Bespoke 的 Minicheck(通过 Ollama)等小型模型来运行此模型,这比每次检查都使用 GPT-4 之类的工具要便宜得多。
可以在参考文档的部分中阅读更多信息。
Spring AI 可以轻松观察模型的运行情况、性能以及成本。Spring AI 与Micrometer集成,提供有关关键指标的详细遥测,例如:
- 模型延迟——你的模型需要多长时间才能做出反应(不仅仅是情感上的)。
- token 使用情况——每个请求的输入/输出 token,因此可以跟踪和优化成本。
- 工具调用和检索——了解你的模型何时充当有用的助手,而不是仅仅在向量存储上免费加载。
还可以通过Micrometer Tracing获得全面的跟踪支持,其中包含模型交互中每个主要步骤的跨度。可以获取有助于故障排除的日志消息,以便查看用户提示或向量存储响应的内容。
可以在参考文档的部分中阅读更多信息。
此外, Spring AI 团队在 MCP 规范发布后不久就开始支持该规范,并将这些代码捐赠给 Anthropic作为MCP Java SDK的基础。Spring AI 围绕此基础提供了丰富的功能。
Spring AI 通过其客户端启动模块,简化了 MCP 工具的使用。添加 `spring-ai-starter-mcp-client` 依赖项,即可快速连接远程 MCP 服务器。Spring Boot 的自动配置功能可处理繁重的工作,因此你的客户端无需过多的样板代码即可调用 MCP 服务器公开的工具,让你专注于构建高效的 AI 工作流。Spring 让你可以轻松连接到 MCP 服务器提供的 stdio 和基于 HTTP 的 SSE 端点。
Spring AI 还简化了 MCP 服务器的创建。只需添加spring-ai-starter-mcp-server
依赖项,即可快速将 Spring 组件转换为符合 MCP 标准的服务器。
Spring AI 支持几种构建代理行为的工作流模式:
- Evaluator Optimizer —— 该模型分析自身的反应,并通过结构化的自我评估过程对其进行改进。
- Routing —— 此模式能够根据用户请求和上下文的分类将输入智能路由到专门的处理程序。
- Orchestrator Workers —— 这种模式是一种灵活的方法,用于处理需要动态任务分解和专门处理的复杂任务
- Chaining —— 该模式将复杂的任务分解为一系列步骤,其中每个 LLM 调用都会处理前一个调用的输出。
- Parallelizatio —— 该模式对于需要并行执行 LLM 调用并自动进行输出聚合的情况很有用。
这些模式可以使用 Spring AI 的聊天模型和工具执行功能来实现,其中框架可以处理大部分底层复杂性。Spring AI 还支持通过 MCP 开发自主代理。
更多详情可查看官方公告。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
🔥 xbatis 一款好用 ORM 框架 1.8.7 正式发布,真正的 ORM 框架!!!
1.8.7 更新内容: 1:为了更好的 JAVA+XML 结合,query 和 where 增加 tableAs (实体类,别名) 方法,用于自定义表名别名 2:XbatisConfig 改为 XbatisGlobalConfig 3:增加逻辑删除拦截器 4:updatedelete增加 原生 RETURNING (原生) 功能 5:增加原生 sql 查询方法和update delete RETURNING 功能 6:增加了一个Mapper 方法拦截器 7:增加exists/not exists 简易写法 通用 SQL 扩展: //类型支持 实体类,VO和普通POJO SysUser user = sysUserMapper.select(SysUser.class, "select * from t_sys_user where id =?", 1); //支持增删改,且支持返回数据 String user_name = sysUserMapper.executeAndReturning(String.class, "update t_sys_user set user...
- 下一篇
🔥 100% 自主可控,Java Solon v3.3.1 发布(国产优秀应用开发基座)
Solon 框架! Solon 是新一代,Java 企业级应用开发框架。从零开始构建(No Java-EE),有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议,是“杭州无耳科技有限公司”开源的根级项目,是 Java 应用开发的生态基座(可替换美国博通公司的 Spring 生态)。 追求: 快速、小巧、简洁 提倡: 克制、高效、开放 7年开源时间,累计代码提交1.6万次 ,近半年下载量1200万次。 有透明可预期的《版本发布与维护计划》 有“【社区交流】”和“【商业服务】”双重技术支持 同时支持运行时环境(不基于 java-ee 构建,所以可以同时兼容): java8, java11, java17, java21, java14 有什么特点(相对 Java Spring 方案)? 特点 描述 更高的计算性价比 并发高 700%;内存省 50% 更快的开发效率 代码少;入门简单;启动快 10 倍(调试快) 更好的生产与部署体验 打包小 90% 更大的兼容范围 非 java-ee 架构;同时支持 java8 ~ java24,graalvm native imag...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7设置SWAP分区,小内存服务器的救世主
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群