news 2026/6/9 6:50:45

# Spring AI 最新实战系列(二)流式输出与ChatClient

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
# Spring AI 最新实战系列(二)流式输出与ChatClient

使用前介绍

我们以 Alibaba 的百炼平台作为Spring-AI的模型讲解,以最新稳定版作为架构。

spring-ai 的最新版本 1.1.2 ;alibaba-spring-ai 的最新版本 1.1.0.0-RC1。

需要注意一点:最新版本的 Spring Boot 4.0.0 不能适配,需要降低版本到 3.5.8。

  • 流式输出 :使得输出更流程,快捷,提升用户体验

  • ChatClient :把各个大模型的ChatModel统一接口化,使得代码中不需要依赖底层的具体模型

    注意: 1)若项目中只有一个模型,则Spring-AI 为自动装配上这个模型;

    ​ 2)若项目中有两个以上模型,则要明确指明是装配哪个模型。

代码部分

  • 项目依赖与配置:(略,上一篇有介绍)

  • Java 代码:

    packagecom.yiyi.coding.spring.ai;importcom.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;importorg.junit.jupiter.api.Test;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;@SpringBootTestpublicclassDashScopeTest{@TestpublicvoidtestChatModel(@AutowiredDashScopeChatModeldashScopeChatModel){System.out.println(dashScopeChatModel.call("你是谁"));}/** * 流式打印,输出 Flux<String> */@TestpublicvoidtestChatModelStream(@AutowiredDashScopeChatModeldashScopeChatModel){dashScopeChatModel.stream("你是谁").toStream().forEach(System.out::println);}@TestpublicvoidtestChatClient(@AutowiredChatClient.BuilderchatClientBuilder){ChatClientchatClient=chatClientBuilder.build();chatClient.prompt("你是谁").stream().content().toStream().forEach(System.out::println);}/** * 装配具体的模型 */@TestpublicvoidtestChatClient2(@AutowiredDashScopeChatModeldashScopeChatModel){ChatClientchatClient=ChatClient.builder(dashScopeChatModel).build();chatClient.prompt("你是谁").stream().content().toStream().forEach(System.out::println);}}
  • 运行后输出的其中一段内容,采用的是流式输出:

    我是 通义千 问, 由 阿里云研发的超大规模 语言模型。我可以生成 各种类型的文本,如文章 、故事、诗歌、故事 等,并能够根据不同的 场景和需求进行变换和 扩展。此外,我还能够 回答各种问题,提供帮助 和解决方案。我 被设计用来协助 用户撰写故事、诗歌 、公文, 提供信息查询, 编程等,能够 支持多种语言,满足 国际化的使用需求。很高兴 为您服务!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 15:51:56

vmrc虚拟化管理革命:重新定义Unix环境下的虚拟机操作体验

vmrc虚拟化管理革命&#xff1a;重新定义Unix环境下的虚拟机操作体验 【免费下载链接】vmrc Virtual Machine rc script 项目地址: https://gitcode.com/gh_mirrors/vm/vmrc 在当今云原生和容器化技术蓬勃发展的时代&#xff0c;Unix/Linux用户面临着虚拟化管理复杂化的…

作者头像 李华
网站建设 2026/6/10 2:34:18

Kotaemon支持基于角色的知识访问控制

Kotaemon支持基于角色的知识访问控制 在金融、医疗和政务等高敏感领域&#xff0c;智能问答系统早已不再是“能不能答”的问题&#xff0c;而是“该不该答”“谁能看见什么”的治理挑战。一个医生可以查阅完整的病历分析报告&#xff0c;但护士可能只需查看护理执行清单&#x…

作者头像 李华
网站建设 2026/6/8 15:27:06

Navicat16 Mac版终极重置指南:免费无限试用完整教程

Navicat16 Mac版终极重置指南&#xff1a;免费无限试用完整教程 【免费下载链接】navicat_reset_mac navicat16 mac版无限重置试用期脚本 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为Navicat16 Mac版试用期到期而烦恼吗&#xff1f;这款专业…

作者头像 李华
网站建设 2026/6/9 23:30:57

Canvas-Editor终极指南:从零到精通的完整学习路径

Canvas-Editor终极指南&#xff1a;从零到精通的完整学习路径 【免费下载链接】canvas-editor rich text editor by canvas/svg 项目地址: https://gitcode.com/gh_mirrors/ca/canvas-editor 还在为传统富文本编辑器的卡顿问题而烦恼吗&#xff1f;Canvas-Editor正是你需…

作者头像 李华
网站建设 2026/6/9 23:55:44

MZmine 3实战指南:轻松解决质谱数据分析三大痛点

还在为复杂的质谱数据分析流程而困扰吗&#xff1f;MZmine 3这款强大的开源质谱数据处理工具&#xff0c;让你无需编程基础就能完成从原始数据到统计分析的全流程。今天&#xff0c;我将为你揭示三个最常见的质谱数据分析难题&#xff0c;并提供立竿见影的解决方案。 【免费下载…

作者头像 李华
网站建设 2026/6/9 7:15:51

Kotaemon赋能企业数字化转型:智能知识管理新范式

Kotaemon赋能企业数字化转型&#xff1a;智能知识管理新范式 在金融、医疗、法律等知识密集型行业&#xff0c;每天都有成千上万份合同、报告、政策文件和客户记录产生。这些非结构化数据如同散落的拼图&#xff0c;难以被有效组织与利用。传统的知识管理系统往往停留在“存档关…

作者头像 李华