当前位置: 首页 > 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.cnnetsun.cn/news/98150.html

相关文章:

  • LobeChat智谱ChatGLM接入全流程:Zhipu AI API对接
  • EmotiVoice能否实现语音情感渐变过渡?动态控制探索
  • 终极微博备份指南:Speechless免费工具完整使用教程
  • 暗黑破坏神2存档编辑器终极指南:从零基础到精通进阶
  • LobeChat Google Gemini Pro接入方法:多模态能力整合
  • LobeChat用量统计面板:跟踪Token消耗与GPU使用率
  • 基于VUE的企业咨询管理系统 [VUE]-计算机毕业设计源码+LW文档
  • 具身智能:零基础入门睿尔曼机械臂(五)—— 手眼标定核心原理与数学求解
  • C++元编程完全指南
  • 3分钟搞定Windows Syslog服务器:从零搭建日志监控系统
  • autofit.js 大屏自适应终极方案:简单配置实现完美布局
  • 【Java抽象类和接口】
  • 全新一代H5免签封装神器:一键生成苹果绿标/安卓双端APP,可在线热更新,彻底隐藏顶部地址栏!
  • 绝区零辅助工具终极指南:10分钟快速上手完整教程
  • JavaScript解密神器:JStillery让你的代码分析变得如此简单
  • Mem Reduct终极指南:简单三步解决电脑内存不足问题
  • 【单片机毕业设计】【mcugc-mcu922】基于单片机的智能窗帘控制系统
  • 开发过程中动态 SQL 中where 1=1的作用是什么
  • 洛谷 P1551 亲戚
  • d2s-editor终极指南:暗黑破坏神2存档修改完全教程
  • UniExtract2深度评测:万能文件提取工具的技术解析与实战应用
  • MySQL主从数据同步实战
  • 破局Java开发困境!飞算科技JavaAI引领智能化开发新革命
  • 21、Yocto项目应用开发全解析
  • HS2-HF_Patch:解锁HoneySelect2完整游戏体验的智能解决方案
  • Obsidian Style Settings 插件终极使用指南:快速掌握个性化定制技巧
  • Jellyfin插件MetaShark中TMDB刮削缓慢问题的深度排查与优化方案
  • 移动端AI绘图新突破:用TensorFlow Lite搞定denoising-diffusion实战指南
  • 抖音下载神器:揭秘批量保存直播回放的技术工具
  • 抖音直播下载终极指南:一键保存精彩回放