news 2026/2/17 1:33:53

Spring AI 最新实战系列(一)完成一个简单的AI项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring AI 最新实战系列(一)完成一个简单的AI项目

使用前介绍

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

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

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

原因是Spring Boot 4.0.0 不存在以下两个自动配置类,则两个类在alibaba-spring-ai 自动配置类中要用到。

org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration

org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration

代码部分

实现相当简单,3步即可完成。

  1. 引入项目工程的依赖

  2. 去百炼平台创建一个api-key,配置在 application 文件中

    百炼平台注册一个账户,然后创建一个api-key即可

  3. 根据需要实现相应的功能

    模型对话、文生图、文生语音、文生视频、多模态

    必要时可以引入百炼平台的 SDK,最新版本为 2.22.3 ,即com.alibaba:dashscope-sdk-java:2.22.3

  • 项目依赖

    plugins{id("java")}group="com.yiyi"version="1.0-SNAPSHOT"repositories{mavenCentral()maven("https://repo.spring.io/milestone")maven("https://repo.spring.io/snapshot")maven{name="Central Portal Snapshots"url=uri("https://central.sonatype.com/repository/maven-snapshots/")}}dependencies{implementation(platform("org.springframework.boot:spring-boot-dependencies:3.5.8"))implementation(platform("org.springframework.ai:spring-ai-bom:1.1.2"))implementation(platform("com.alibaba.cloud.ai:spring-ai-alibaba-bom:1.1.0.0-RC1"))implementation("org.springframework.boot:spring-boot-starter-webflux")// implementation("org.springframework.ai:spring-ai-starter-model-deepseek")implementation("com.alibaba.cloud.ai:spring-ai-alibaba-starter-dashscope:1.1.0.0-RC1")implementation("com.alibaba:dashscope-sdk-java:2.22.3")// implementation("org.springframework.ai:spring-ai-redis-store")testImplementation("org.springframework.boot:spring-boot-starter-test")testImplementation(platform("org.junit:junit-bom:5.10.0"))testImplementation("org.junit.jupiter:junit-jupiter")testRuntimeOnly("org.junit.platform:junit-platform-launcher")}tasks.test{useJUnitPlatform()}
  • application.yaml配置api-key : 为了安全,可采用 api-key 配置在环境变量中,然后使用环境变量的值

    spring:ai:dashscope:api-key:${your-api-key}
  • 一个简单的实例(直接用测试用例的方式),正式项目用 webflux ,完成流式输出,提升用户体验。

    packagecom.yiyi.coding.spring.ai;importcom.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;@SpringBootTestpublicclassDashScopeTest{@TestpublicvoidtestChatModel(@AutowiredDashScopeChatModeldashScopeChatModel){System.out.println(dashScopeChatModel.call("你是谁"));}}
  • 运行后输出内容

    我是通义千问,阿里巴巴集团旗下的超大规模语言模型。我能够回答问题、创作文字,如写故事、公文、邮件、剧本等,还能进行逻辑推理、编程,甚至表达观点和玩游戏。如果你有任何需要帮助的地方,欢迎随时告诉我!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/15 8:12:30

【API 设计之道】06 结构化错误处理:RFC 7807 与错误模型的最佳实践

大家好,我是Tony Bai。欢迎来到我们的专栏 《API 设计之道:从设计模式到 Gin 工程化实现》的第六讲。在前面的课程中,我们讨论了如何设计 URL、如何传输数据、如何分页。今天,我们来聊聊一个略显沉重但绝对避不开的话题&#xff1…

作者头像 李华
网站建设 2026/2/12 9:28:04

投递 2 天,拿下 Offer!

大家好,我是R哥。今天分享一个史上最快拿 Offer 的案例,投递 2 天拿下 Offer,兄弟直接说:“回本了 我这才刚投两天!”。(他史上最快,我们辅导案例并不是最快的。)这兄弟工作快 10 年…

作者头像 李华
网站建设 2026/2/5 5:05:52

终极Kafka-UI快速部署指南:5分钟搞定可视化监控

终极Kafka-UI快速部署指南:5分钟搞定可视化监控 【免费下载链接】kafka-ui provectus/kafka-ui: Kafka-UI 是一个用于管理和监控Apache Kafka集群的开源Web UI工具,提供诸如主题管理、消费者组查看、生产者测试等功能,便于对Kafka集群进行日常…

作者头像 李华
网站建设 2026/2/6 12:52:37

Python:接口隔离原则(ISP)

接口隔离原则(Interface Segregation Principle,ISP)强调:客户端不应该被迫依赖它不需要的方法。换句话说,一个接口(或抽象类)应该尽可能小而精,不应把不相关的功能塞进同一个接口里…

作者头像 李华
网站建设 2026/2/7 4:00:14

3步告别糊涂账:开源记账系统如何帮你重建财务秩序

"钱都花到哪里去了?"这可能是很多人月底最常问自己的问题。工资刚到手就所剩无几,想存钱却总是存不下来,想要投资理财却连自己的收支状况都搞不清楚。这种财务混乱的状况,正在影响越来越多人的生活品质。 【免费下载链接…

作者头像 李华
网站建设 2026/2/10 4:45:23

C++ MFC Qt《高级程序设计实践》任务书(10题)[2025-12-16]

C MFC Qt《高级程序设计实践》任务书(10题)[2025-12-16] 《高级程序设计实践》 任务书 1. 基本要求 1)编写图形化界面,界面友好、美观 2)注意数据结构和程序结构的设计 3)注意程序的可读性和可扩展性 4)原则上不得使用全局变量 5)完成6-10个核心功能,代…

作者头像 李华