🧠 "Franky,帮我看看这张图!"------语音助手如何理解图片?
"Franky,这张图片里是什么呀?"
不用鼠标放大、不用手指滑动,只要一句轻声提问,小助手就会甜甜地回应你:"这是一张戴着耳机的小机器人,正在看天气预报呢~"
是不是很神奇?今天就带你一起走进 Franky 的"图像识别小宇宙"!

🌸 1. 为什么让语音助手会"看图"?
我们想象这样一个场景:
-
小朋友画了张画,说:"Franky你看我画了什么!"
-
或者你用手机拍了一张饭菜照片,想让 Franky 告诉你能量值或是否健康;
-
又或者是,孩子在页面上拖进了一张带猫的图片,然后说:"这个猫表情像不像我?"
让语音助手"看懂"这些画面,就需要用到图片理解(Image Understanding)技术啦!
📦 2. Franky 是怎么理解图片的?
Franky 的图像理解过程其实很有条理,它也像你写作业一样按部就班:
🪄 一共三步:
-
选出最近上传的图片:它会在图片目录里挑出最新的一张;
-
将图片转成 Base64:这就像把一张图压缩成一串可以发给 AI 的魔法字串;
-
调用图文大模型 :使用阿里云的
qwen2.5-vl-3b-instruct
模型,发送一条带图带问句的消息,等待 AI 回答;
最终,它会拿到一段文本描述,像这样:
"这是一张可爱的粉色语音助手卡通形象,戴着耳机,身旁有一个手机正在播放音乐。"
然后,Franky 会把这句话变成语音播报,或显示在 Web 界面上!
🧠 3. 技术幕后揭秘:一场"小剧场"
python
latest_file = max(glob.glob(f"{IMAGE_DIR}/*"), key=os.path.getmtime)
🖼️ Franky 先去「图片衣柜」里选出最近那张图。
python
local_url = img_to_base64_uri(image_path)
🍬 然后用 img_to_base64_uri
把图"揉碎揉软",塞进 AI 能吃的格式。
python
response = MultiModalConversation.call(
model="qwen2.5-vl-3b-instruct",
messages=[
{"role": "user", "content": [
{"image": local_url},
{"text": "这个图里有什么?"}
]}
]
)
🌩️ 接着一通风火雷电,Franky 向天上的图文大模型发问!一问一答,秒变图像解说专家!
📡 4. 多模态大模型:Franky 的"视觉大脑"
你可能好奇,它理解图片靠什么?秘密武器就是:
🧠 Qwen-VL
模型(阿里云 DashScope 提供)
-
支持图片 + 文字混合输入;
-
可以描述场景、对象、颜色、甚至情绪;
-
调用方式就像发消息一样简单,给它看一张图,说句话,它就能回你。
我们称这类技术为 多模态对话(Multi-Modal Conversation)------Franky 不止能"听你说",还能"看你发"。
💬 5. 结果播报也很温柔!
一切准备就绪后,Franky 会:
- 把识别结果发送到前端页面:
python
self.ws_client.send_status_update('info', f"{result}")
- 或者用
TTS
(语音合成)讲出来:"这张图里是一只猫正在读书哦~"
就像是一个热情又害羞的朋友,总是轻声告诉你:"我看完啦~"
🧁 小彩蛋:这张封面图就是 Franky 看的第一张图!
你现在看到的这篇博客封面图,就是 Franky 的"第一张画面输入"。
我们问它:"这张图里有什么?"
它回答得不急不躁:
"画面展示了一个粉色的语音助手形象,戴着耳机,在和一部手机交流,画面色调柔和,带有卡通风格。"
你说它是不是看得还挺准的?😊
🪄 6. 未来还能怎么玩?
-
让 Franky 帮你挑衣服图:"帮我看看这件衣服适合夏天吗?"
-
涂鸦讲解:小朋友画完画后就问"我画了啥",Franky自动描述;
-
营养分析图:"这张饭菜图,热量高吗?"
-
辅助识别:"这张图里有没有文字?有没有红色按钮?"
💡 结语:让 AI "看图说话",变成家里最懂你的朋友
以前的语音助手,只能听你说。
现在的 Franky,已经可以看你画、看你拍、看你分享的每一张图片。
技术做得再强,只有当它能读懂你的生活、理解你的眼睛,才能成为一个真正贴心的家庭助手。
如果你也想让你的语音助手"会看图",那就快来试试这一套 ImageUnderstandTask
的魔法组合吧!
🧾 声明:所有内容均为我非工作时间的个人开发探索,技术探索过程公开透明,旨在分享语音交互领域的实战经验,不代表任何单位或组织,不涉及任何职务行为或工作成果,仅供学习参考。