news 2026/9/8 17:01:59

Java AI转型实战(十五):多模态 AI 入门——图片理解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java AI转型实战(十五):多模态 AI 入门——图片理解

让 AI 不仅能“读文字”,还能“看图片”

01 引子

经过十四篇实战,我们构建了一个完整的智能助手应用,它能够:

  • 多轮对话

  • 流式输出

  • 知识库检索(RAG)

  • 工具调用(Agent)

  • 循环推理

但所有这些能力都基于文字。AI 只能处理我们输入的文字,却无法“看见”我们上传的图片。

试想一下这些场景:

  • 用户上传一张系统架构图,问“这个系统有哪些模块?”

  • 用户拍了一张产品照片,问“这个产品有什么特点?”

  • 用户上传一份手写文档,问“这上面写了什么?”

如果 AI 只能处理文字,这些需求都无法满足。而这就是多模态 AI要解决的问题——让 AI 能够同时处理文字、图片、音频等多种模态的信息。

这一篇的目标:让我们的智能助手具备图片理解能力。

02 什么是多模态 AI?

2.1 单模态 vs 多模态
对比单模态 AI多模态 AI
输入类型仅文字文字 + 图片 + 音频 + 视频
能力范围文本理解、文本生成图像识别、视觉问答、语音合成
典型模型GPT、通义千问qwen-vl-plus、GPT-4V
2.2 图片理解的应用场景
场景说明实际用途
图像描述AI 描述图片内容无障碍辅助、内容审核
视觉问答根据图片回答问题产品识别、故障诊断
OCR从图片中提取文字证件识别、文档扫描
图表分析解析图表数据数据分析、报告解读
2.3 技术选型

我们使用阿里云的qwen-vl-plus模型,原因如下:

  • 与现有阿里百炼生态无缝集成

  • 支持图像理解、视觉问答、OCR 等多种能力

  • 与已使用的通义千问模型共享 API Key

03 代码实现

3.1 添加依赖

pom.xml中添加 DashScope SDK:

3.2 创建图片理解服务

ImageUnderstandingService.java

3.3 创建 Controller

ImageController.java

04 测试验证

测试场景一:描述图片内容

请求:

测试场景二:图片问答

请求:

05 踩坑记录

坑一:包名错误

现象:导入com.alibaba.dashscope.multimodal.MultiModal时报错。

原因:不同版本的 DashScope SDK 包名不同。

解决:2.19.x 版本使用:

java

import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation; import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam; import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
坑二:类型转换错误

现象:不兼容的类型: List<Map<String, Object>> 无法转换为 List<Object>

解决:使用Arrays.asList(Map.of(...))并显式声明返回类型,同时用@SuppressWarnings("unchecked")忽略类型转换警告。

坑三:缺少异常捕获

现象:未报告的异常错误 UploadFileException

解决:在 catch 子句中添加UploadFileException

java

} catch (ApiException | NoApiKeyException | UploadFileException e) {

06 成果总结

经过这一篇,你的智能助手新增了图片理解能力:

能力状态
图片内容描述
视觉问答
结构化信息提取
布局与关系分析

07 下期预告

图片理解只是多模态 AI 的起点。接下来可以继续深入的方向:

方向内容
语音合成(TTS)文字转语音,让 AI“说话”
OCR 增强从图片中提取文字,用于证件识别、文档扫描
多轮图文对话围绕图片进行多轮对话
本地图片上传支持 MultipartFile 上传,方便测试

下一篇,我们探索语音合成——让 AI 不仅能“看”,还能“说”。

📌 我是超超不吵吵,10年Java全栈,正在转型AI应用开发。
每周一篇实战笔记,不贩卖焦虑,只分享能落地的技术。
全网同名,欢迎关注。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 17:01:46

C语言统计大写字母个数:从基础题到工程思维的完整拆解

1. 这类题为什么值得认真对待“1007 - 统计大写英文字母的个数”这个题目&#xff0c;乍看是C语言入门练习里最不起眼的一道&#xff1a;输入一串字符&#xff0c;数一数里面有多少个大写字母。但我在实际带新人、看学生作业的过程中发现&#xff0c;越是这种基础题目&#xff…

作者头像 李华
网站建设 2026/9/8 17:01:30

2026软件测试面试题最强攻略:从基础八股到测开实战

1. 先搞清楚2026年面试官到底在找什么样的人每年我都会被问到同一个问题&#xff1a;软件测试面试题到底该怎么准备&#xff1f;尤其是临近跳槽季&#xff0c;后台私信里清一色是"求2026最新面试题""有没有最强背诵版"。先说结论&#xff1a;单纯背题已经不…

作者头像 李华
网站建设 2026/9/8 17:01:20

训练1000轮损失不降?反向传播手算一遍就懂了

训练1000轮损失不降&#xff1f;反向传播手算一遍就懂了 【免费下载链接】nndl 邱锡鹏《神经网络与深度学习》第二版与通识版&#xff1a;电子书、章节目录、学习资源与勘误。 项目地址: https://gitcode.com/GitHub_Trending/nn/nndl 训练跑了 1000 轮&#xff0c;损失…

作者头像 李华
网站建设 2026/9/8 17:00:02

three js 13 光照和阴影

文章目录1 灯光的类型2 材质3 如何场景有影子3 平行光4 聚光灯5 点光源1 灯光的类型 平行光 点光 面光 无阴影 射灯 2 材质 以下材质会接受光照 MeshStandardMaterial 标准PBR材质&#xff0c;主要用这个 MeshPhysicalMaterial 高级物理材质 没用 MeshLambertMaterial 兰伯…

作者头像 李华