当前位置: 首页 > news >正文

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("你是谁"));}}
  • 运行后输出内容

    我是通义千问,阿里巴巴集团旗下的超大规模语言模型。我能够回答问题、创作文字,如写故事、公文、邮件、剧本等,还能进行逻辑推理、编程,甚至表达观点和玩游戏。如果你有任何需要帮助的地方,欢迎随时告诉我!
http://www.zskr.cn/news/113566.html

相关文章:

  • 思考与练习之答案与解析(第四章 程序组成与输入输出)
  • 终极Kafka-UI快速部署指南:5分钟搞定可视化监控
  • 人机关系中的不可公度性
  • 第一部分:类和对象(中)— 取地址运算符重载
  • NVIDIA没想到会间接干掉中国中低端手机,AI横扫一切!
  • Mem Reduct内存管理终极指南:解决电脑卡顿的完整教程
  • 电脑c盘内存满了怎么清理内存 释放空间不求人
  • 政务智能体发展研究报告(附下载)
  • UniExtract2万能文件解压工具:从入门到精通的全方位指南
  • 暗黑破坏神2存档编辑器终极指南:从零基础到精通进阶
  • LobeChat安全性评估:数据隐私保护如何做到位?
  • EmotiVoice语音合成在心理咨询机器人中的应用潜力
  • EmotiVoice语音合成在电子宠物产品中的情感互动设计
  • CSS 伪类 after 清除浮动:前端老手都在用的布局妙招
  • 矢量计算的交响乐:Ascend C向量编程范式与指令级并行优化
  • 基于VUE的MBTI人格测试系统 [VUE]-计算机毕业设计源码+LW文档
  • 基于VUE的汽车维修保养智能预约系统 [VUE]-计算机毕业设计源码+LW文档
  • Archipack建筑建模插件新手入门指南:从问题解决到实战应用
  • 光储充一体化方案如何进行精准设计
  • Unitree GO2 ROS2 SDK终极指南:从零开始构建智能机器人系统
  • 3分钟搞定Windows Syslog服务器:从零搭建日志监控系统
  • CAN协议完全指南
  • 飞书文档转Markdown神器:3分钟掌握高效转换技巧
  • Vosk Android中文语音识别部署实战指南
  • 终极指南:如何在Android应用中快速集成Vosk中文语音识别功能
  • Mem Reduct内存优化实战:5个步骤解决系统卡顿难题
  • autofit.js大屏自适应完整教程:3分钟搞定完美布局
  • Day 41 卷积神经网络(CNN)基础与实战
  • 短信宝对接PHP页面,简单的测试页面,快递取件码发送系统(已测试)
  • LobeChat元旦新年祝福语生成