尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Spring AI:多模态 AI 大模型 - 教程

Spring AI:多模态 AI 大模型 - 教程
📅 发布时间:2026/6/18 19:50:03

历史文章

Spring AI:对接DeepSeek实战
Spring AI:对接官方 DeepSeek-R1 模型 —— 实现推理效果
Spring AI:ChatClient实现对话效果
Spring AI:使用 Advisor 组件 - 打印请求大模型出入参日志
Spring AI:ChatMemory 实现聊天记忆功能
Spring AI:本地安装 Ollama 并运行 Qwen3 模型
Spring AI:提示词工程
Spring AI:提示词工程 - Prompt 角色分类(系统角色与用户角色)
Spring AI:基于 “助手角色” 消息实现聊天记忆功能
Spring AI:结构化输出 - 大模型响应内容
Spring AI:Docker 安装 Cassandra 5.x(限制内存占用)&& CQL
Spring AI:整合 Cassandra - 实现聊天消息持久化
在这里插入图片描述

什么是多模态?

多模态(Multimodal) AI 大模型的是指能够处理和理解多种不同类型(模态)数据的人工智能模型。 这些模型能够从不同来源的输入中获取信息,并通过综合这些信息来做出更全面、更准确的判断和预测。常见的模态包括:

  • 文本: 书面或口头语言。

  • 图像: 照片、图画、图标等。

  • 音频: 声音、音乐、语音。

  • 视频: 动态图像序列,通常包含音频。

  • …

多模态的 AI 大模型能够将这些不同模态的数据进行融合处理。例如,能够理解图像中的内容并结合文本信息生成描述,或者结合语音和图像来识别视频中的对象或场景。

核心能力与特点

多模态 AI 大模型的核心能力与特点如下:

1、跨模态理解与关联: 这是最核心的能力。模型不仅能理解每种模态内部的信息,更能理解不同模态信息之间的关联。例如:

  • 理解一张图片描绘的内容,并用文字描述出来(看图说话)。
  • 根据一段文字描述,生成符合描述的图像(文生图)。
  • 理解视频中发生了什么,并回答相关问题(视频问答)。
  • 分析医学影像(图像模态)并结合病历报告(文本模态)做出诊断建议。
  • 理解语音指令(音频模态)并操控智能家居设备(可能需要关联传感器模态)。

2、跨模态生成: 模型可以基于一种模态的信息,生成另一种模态的内容。例如:

  • 文生图:输入文字描述,生成图片。
  • 图生文:输入图片,生成描述、故事或回答问题。
  • 文生视频:输入文字描述,生成短视频。
  • 语音合成:输入文字,生成逼真的语音(文生音频)。
  • 音乐生成:根据描述或情绪生成音乐。

3、信息互补与增强: 不同模态的信息可以相互补充,提供更全面、更准确的理解。例如,一段视频配上文字解说,理解起来比单独看视频或单独看文字更清晰。多模态模型能自动利用这种互补性。

4、更接近人类感知世界的方式: 人类天生就是多模态的。我们通过眼睛看(图像/视频)、耳朵听(音频)、嘴巴说和阅读(文本)等多种方式来感知和理解世界。多模态大模型的目标就是模拟这种更自然、更全面的感知和理解方式。

挑选多模态 AI 大模型

为了能够上手感受一下,我们登录到阿里百炼 的 “模型广场” 中,找一款多模态 AI 大模型,我这里挑选的是 “全模态 | 通义千问-Omni-Turbo” 模型,如下图所示,Qwen-Omni 系列模型支持输入多种模态的数据,包括视频、音频、图片、文本,并输出音频与文本,而且它兼容 OpenAI 接口调用方式。

在这里插入图片描述
点击 “API参考”,查看模型文档,复制其模型名称 qwen-omni-turbo :

在这里插入图片描述

配置模型

此配置对接的是阿里的百练大模型 (支持openai )

增加依赖

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId></dependency>

编辑 application.yml 文件,编辑 openai 节点下的模块名称,将其修改为 qwen-omni-turbo :

spring:
ai:
openai:
base-url: https://dashscope.aliyuncs.com/compatible-mode # OpenAI 服务的访问地址,这里使用的是阿里云百炼
api-key: sk-=xxxxxxxxxxxxxx  #API Key, 该成你自己的
chat:
options:
model: qwen-omni-turbo # 模型名称
temperature: 0.7 # 温度值

在这里插入图片描述

添加一张测试图片

为了等会能够测试多模态大模型,在 /resources 资源目录下,新建一个 /images 文件夹,并添加一张图片
在这里插入图片描述

在这里插入图片描述

新增 Controller 控制器

@RestController
@RequestMapping("/v9/ai")
public class MultimodalityController {
@Resource
private OpenAiChatModel chatModel;
/**
* 流式对话
* @param message
* @return
*/
@GetMapping(value = "/generateStream", produces = "text/html;charset=utf-8")
public Flux<String> generateStream(@RequestParam(value = "message") String message) {// 1. 创建媒体资源Media image = new Media(MimeTypeUtils.IMAGE_PNG,new ClassPathResource("/images/img.png"));// 2. 附加选项(可选),如温度值等等Map<String, Object> metadata = new HashMap<>();metadata.put("temperature", 0.7);// 3. 构建多模态消息UserMessage userMessage = UserMessage.builder().text(message).media(image).metadata(metadata).build();// 4. 构建提示词Prompt prompt = new Prompt(List.of(userMessage));// 5. 流式调用return chatModel.stream(prompt).mapNotNull(chatResponse -> {Generation generation = chatResponse.getResult();return generation.getOutput().getText();});}}

解释一下上述代码的处理流程:

  • 创建一个 Media 媒体资源,声明其类型为 png 图片,并指定资源所在路径;
  • 创建一个附加选项 Map 字典,比如指定 temperature 温度值,这是可选的,可以不添加任何参数;
  • 构建 UserMessage 多模态消息,包括提示词、输入的图片等等;
  • 构建 Prompt 构建提示词;
  • 流式调用 qwen-omni-turbo 模型,注意,此模型只支持流式调用,不支持同步调用;

测试一下
完成上述工作后,重启后端项目,浏览器请求如下地址,询问 AI 大模型 “图片里面的是什么东西”:

http://localhost:8080/v9/ai/generateStream?message=图片里面是什么东西

如下图所示, qwen-omni-turbo 多模态模型成功识别出了图片
在这里插入图片描述

相关新闻

  • Java 线程生命周期详解
  • 12.31每日总结
  • 设备指令下发设计模式

最新新闻

  • 嵌入式调试利器dBUG:TRACE单步、UP上传与TRAP #15实战解析
  • 2026 年服装镭射激光打标转印标定制厂家技术实力与选型指南 - 变量人生001
  • MyFramework:EventSystem 事件系统的实现解析
  • 多维聚合实战:解决GROUP BY在维度交叉中的数据失真问题
  • 杭州本地宠物店实测分享,选猫选狗别只看价格 - 园友3800037
  • 2026视频转WEBM保姆级教程:HTML5必备,免费在线+小程序全攻略 - 时时资讯

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号