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

Spring AI 集成阿里云百炼平台

Spring AI 集成阿里云百炼平台

创建API key

在阿里云百炼平台创建API key设置系统变量。阿里云百炼 api key 创建
在这里插入图片描述

API 参考

官方API地址:https://bailian.console.aliyun.com
(1)在阿里云百炼控制台,选择API参考菜单。
在这里插入图片描述
在这里插入图片描述
API文档从如何获取API key、配置环境变量、安装SDK、对话、通义千问、以及万象文生文、文生图及多模态都进行详细的说明和指导。
下面开始正式的代码部分,通过测试类简要说明对话、多模态应用的集成

1.引入依赖

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId></exclusion></exclusions></dependency><!--阿里百炼--><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter-dashscope</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dashscope-sdk-java</artifactId><version>2.21.1</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.ai/spring-ai-ollama --><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama</artifactId><version>0.8.0</version></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>0.8.0</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-bom</artifactId><version>1.0.0.2</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><repositories><repository><id>spring-milestones</id><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository></repositories>

2.修改配置文件

spring:application:name: quick-startai:dashscope:api-key: ${DASHSCOPE_API_KEY}base-url: https://dashscope.aliyuncs.com/compatible-mode/v1chat:options:
#          model: wanx-v1  #wanx-v1
#          multi-model: true   #多模态模型model: qwen-turboimage:  #配置图像大模型base-url: https://dashscope.aliyun.com/api/v1/services/aigc/text2image/image-synthesisoptions:model: wanx2.1-t2i-turbo 

这里的ai.chat.model 可以在阿里云百炼平台,选择你想要的模型进行配置。如下图:

在这里插入图片描述
点击每个大模型下面的查看详情,可以查询当前token额度和计费标准。

在这里插入图片描述

3.文生文

@SpringBootTest
public class TestAlibaba {@Autowiredprivate DashScopeChatModel dashScopeChatModel;@Testpublic void testQianwen(){String call = dashScopeChatModel.call("你是谁?");System.out.println(call);}@Testpublic void testQianWenStream(){Flux<String> stream = dashScopeChatModel.stream("你好?");stream.toIterable().forEach(System.out::print);}}

4.文生图

    @Testpublic void testImages(){String prompt = "生成一只橘猫,一只奶牛猫,玩闹的图片";ImageSynthesisParam param =ImageSynthesisParam.builder().apiKey(System.getenv("DASHSCOPE_API_KEY")).model(ImageSynthesis.Models.WANX_V1)  //设置大模型为wanx_v1.prompt(prompt).style("<watercolor>").n(1) //设置生成图片的数量.size("1024*1024")   //设置图片的尺寸.build();ImageSynthesis imageSynthesis = new ImageSynthesis();ImageSynthesisResult result = null;try {System.out.println("---sync call, please wait a moment----");result = imageSynthesis.call(param);} catch (ApiException | NoApiKeyException e){throw new RuntimeException(e.getMessage());}System.out.println(JsonUtils.toJson(result));System.out.println(result.getOutput().getResults().get(0).get("url"));}

返回数据:

{"request_id":"44f028f5-b43c-9ce7-b105-fa052c854dbf","output":{"task_id":"3bbe5e22-fa38-4ef5-ae45-ddc6cc11378f","task_status":"SUCCEEDED","results":[{"url":"https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/1d/b0/20250817/f52ecab8/52bd6da2-b099-4c1a-b6f8-f92579b1fb65-1.png?Expires=1755509978&OSSAccessKeyId=LTAI5tQZd8AEcZX6KZV4G8qL&Signature=fP7de7tkr%2BkG0ouFe7mL7wUijvU%3D"}],"task_metrics":{"TOTAL":1,"SUCCEEDED":1,"FAILED":0}},"usage":{"image_count":1}}

results里面的url是生成图片的地址。
生成图片:

在这里插入图片描述

5.文生语音

文生语音在百炼平台中选择语音合成,目前只有一个cosyvoice-v2大模型
在这里插入图片描述
音频格式支持pmc、wav、MP3、ogg_opus
在这里插入图片描述
常用参数:
voice:可设置音色列表的音色,使用voice参数值
音色列表:
在这里插入图片描述
只是截取部分音色列表,更多请参考官网。

volume:设置音量,取值范围0~100
speechRate:设置语速。范围0.5到2,表示倍速,1为正常语速。

    @Testpublic void testTextToAudio(@Autowired  DashScopeSpeechSynthesisModel speechSynthesisModel){DashScopeSpeechSynthesisOptions build = DashScopeSpeechSynthesisOptions.builder().model("cosyvoice-v2")  //设置大模型.voice("longyingbing")  //设置音色.build();SpeechSynthesisResponse response = speechSynthesisModel.call(new SpeechSynthesisPrompt("大家好我是旺仔小乔", build));File file = new File("F:\\aiTest\\tts" + "\\123.mp3");try(FileOutputStream fileOutputStream = new FileOutputStream(file)){ByteBuffer audio = response.getResult().getOutput().getAudio();fileOutputStream.write(audio.array());}catch (Exception e){e.printStackTrace();}}

测试结果:
在指定位置生成音频文件,指定文本和音色转换为音频。
在这里插入图片描述

6.文生视频

在这里插入图片描述
在这里插入图片描述
常用参数设置:
size:用于设置分辨率,可选参数如下:
在这里插入图片描述
duration:生成视频的时长,单位秒
watermark :是否显示水印,参数true|false。设置true表示生成的视频显示AI生成的水印

   @Testpublic void text2Video() throws ApiException, NoApiKeyException, InputRequiredException{VideoSynthesis videoSynthesis = new VideoSynthesis();VideoSynthesisParam param =VideoSynthesisParam.builder().model("wan2.2-t2v-plus").prompt("海边夕阳西下,海浪翻涌").size("1920*1080").apiKey(System.getenv("DASHSCOPE_API_KEY")).build();System.out.println("please wait...");VideoSynthesisResult result = videoSynthesis.call(param);System.out.println(JsonUtils.toJson(result));System.out.println(result.getOutput().getVideoUrl());}

生成视频格式MP4如下:

ai生成视频

7.图像理解

在这里插入图片描述
此处选用通义千问VL-Max,代码如下:
需要设置图片地址,设置媒体类型为IMAGE_JPEG

   @Testpublic void testMutimode(){try {UrlResource urlResource = new UrlResource("file:////F:/aiTest/test.jpg");Media media = new Media(MimeTypeUtils.IMAGE_JPEG, urlResource);DashScopeChatOptions options = DashScopeChatOptions.builder().withMultiModel(true) //是否是多模态.withModel("qwen-vl-max-latest").build();Prompt prompt = Prompt.builder().chatOptions(options).messages(UserMessage.builder().media(media).text("识别图片").build()).build();ChatResponse response = dashScopeChatModel.call(prompt);System.out.println(response.getResult().getOutput().getText());} catch (MalformedURLException e) {throw new RuntimeException(e);}

test.jpg
在这里插入图片描述
输出内容:
这是一张时尚品牌 ba&sh 的宣传图,画面中的人物是一位女性模特。以下是详细的识别与描述:


人物性别

  • 女性:从面部特征、发型、服装风格及整体气质判断,该人物为女性。

地域特征(推测)

  • 亚洲裔或具有东亚混血特征
    • 面部轮廓柔和,五官立体但不过于突出,肤色偏白皙。
    • 黑色长发自然披肩,发质顺滑,具有典型的东亚人种特征。
    • 眼睛形状偏杏仁形,鼻梁适中,嘴唇较薄,符合许多亚洲女性的外貌特征。
    • 虽然无法明确其具体国籍,但从外貌上看,她可能具有中国、韩国或东南亚等东亚地区的血统,也可能是混血背景。

服装特点

连衣裙
  • 款式:短款碎花连衣裙,长度在大腿中部,属于夏季轻盈款式。
  • 图案:浅米色底色上点缀着小碎花图案,花朵以红色、粉色和绿色为主,呈现出田园风格。
  • 设计细节
    • 领口为立领设计,带有红色镶边,增添复古感。
    • 长袖设计,袖口略微收紧,有轻微的泡泡袖效果,增加柔美感。
    • 腰部系有一条棕色皮质腰带,强调腰线,提升比例。
    • 下摆为双层荷叶边设计,层次丰富,增强飘逸感。
配饰
  • 手包:左手持有一个深棕色丝绒质感的手拿包,表面有褶皱设计,类似“抽绳”式造型,富有文艺气息。
  • 鞋子:脚穿一双浅金色罗马凉鞋,采用细带缠绕脚踝的设计,简约而优雅,适合春夏季节。
  • 首饰:右手腕佩戴一条金色手镯,较为纤细,不抢眼但提升精致度。

整体风格总结

  • 风格定位:法式浪漫、田园复古、轻熟女性风。
  • 色彩搭配:以柔和的米色、粉色、棕色为主调,温暖而不失优雅。
  • 适用场景:适合春夏季的日常出行、约会、郊游或轻松聚会等场合。

品牌标识

  • 图片上方印有品牌名称 “ba&sh”,字体简洁现代,表明这是该品牌的官方宣传照。

总结

这位女性模特具有典型的东亚或亚裔混血外貌特征,身着一件充满法式风情的碎花连衣裙,搭配简约精致的配饰,展现出温柔、知性且略带复古的时尚气质。整体造型体现了 ba&sh 品牌所倡导的“轻松优雅”的生活美学。

以上就是本文的所有内容,阿里云百炼平台还有很多有趣的大模型等待你的发现,比如涂鸦作画、虚拟模特、创意海报生成、ai试衣、图生舞蹈视频、图生表情表视频等。

http://www.dtcms.com/a/335427.html

相关文章:

  • vscode无法检测到typescript环境解决办法
  • SpringCloud 03 负载均衡
  • 向量数据库基础和实践 (Faiss)
  • QT 基础聊天应用项目文档
  • Flutter vs Pygame 桌面应用开发对比分析
  • Android原生(Kotlin)与Flutter混合开发 - 设备控制与状态同步解决方案
  • 安卓开发者自学鸿蒙开发2页面高级技巧
  • 第一阶段总结:你的第一个3D网页
  • 【牛客刷题】成绩统计与发短信问题详解
  • OpenMemory MCP发布!AI记忆本地共享,Claude、Cursor一键同步效率翻倍!
  • 【FreeRTOS】刨根问底6: 应该如何防止任务栈溢出?
  • JavaScript性能优化实战(四):资源加载优化
  • FreeRTOS源码分析八:timer管理(一)
  • Hunyuan-GameCraft:基于混合历史条件的高动态交互游戏视频生成
  • 健身房预约系统SSM+Mybatis实现(三、校验 +页面完善+头像上传)
  • 基于Node.js+Express的电商管理平台的设计与实现/基于vue的网上购物商城的设计与实现/基于Node.js+Express的在线销售系统
  • Visual Studio Code 基础设置指南
  • iSCSI服务配置全指南(含服务器与客户端)
  • 12.web api 3
  • Docker入门:容器化技术的第一堂课
  • Chrome插件开发实战:todoList 插件
  • IP 分片和组装的具体过程
  • 二分查找(Binary Search)
  • 力扣刷题904——水果成篮
  • Java开发MCP服务器
  • 云计算-K8s 实战:Pod、安全上下文、HPA 、CRD、网络策略、亲和性等功能配置实操指南
  • 大模型提示词(Prompt)终极指南:从原理到实战,让AI输出质量提升300%
  • PS复刻八一电影制片厂经典片头
  • Pandas 2.0 + Arrow 加速、Dask vs Ray、Plotly 可视化:数据分析的未来
  • Centos中内存CPU硬盘的查询