UnifoLM-OminiA-0.3 这类同时接收图像和语音的模型,通常不会在响应里给出“我先处理了图像、再处理了语音”这样的显式字段。能确认的只有输出文本里留下的痕迹;不能确认的是模型内部的调度顺序。因此,判断输入谁先谁后时,可行的办法是设计一组只改一个变量的对照请求,把“先看还是先听”变成可复现的观察结果,同时先接受一个边界:观察到的优先级是当前接入方式、当前提示词和当前参数下的表现,换配置要重测。
同时给图和语音时,不要靠猜内部顺序,而是用三组输入做隔离:只图、只语音、图加语音,固定文本问题和采样参数,记录输出首句提到的对象。然后交换模态在请求里的排列位置再跑一遍,排除位置造成的错觉。若两次结果一致,就把这个顺序写进请求模板:在文本通道里显式声明以哪路输入为准,并固定模态排列。若不一致,说明当前配置下顺序不可靠,应在文本里补显式优先级指令,而不是依赖排列位置。
固定文本问题,分别只给图、只给语音、图文语音都给
这一组的目的,是先知道模型单独处理每一路输入时分别会说什么,再看合在一起时输出更像哪一路。构造方式如下:三组用同一句文本问题,例如“请概括你收到的全部信息,并说明信息来源”;A 组只挂图像,语音通道留空字段而不是删掉字段;B 组只挂语音,图像字段同样留空;C 组图像和语音都挂上。留空而不是删除,是为了避免请求在校验阶段走到不同的分支,导致差异不来自模态本身。
需要固定的变量:文本问题逐字一致;图像用同一张;语音用同一段、同一采样率;温度、最大输出长度等参数一致;每组使用独立会话,不共享上下文;同一客户端版本、同一时段连续跑完。要记录的字段建议列成清单,避免只保存一段摘要:request_id、输入组合标识、完整输出原文、输出首句提到的对象、首次出现“图/画面/你刚才说”等模态指代词的位置、是否提到缺少某路输入、是否拒答。
{
"model": "unifolm-ominia-0.3",
"input": [
{ "type": "text", "text": "请概括你收到的全部信息,并说明信息来源" },
{ "type": "image", "image": "<base64 或 url>" },
{ "type": "audio", "audio": "<base64 或 url>" }
],
"temperature": 0,
"max_output_tokens": 512
}
字段名要以你手上的接入方式为准,上面只是骨架;A 组把 image 内容置空、B 组把 audio 内容置空即可。每组至少重复三次,看输出是否稳定,单次结果不足以判断顺序。
在输出里找模态先后留下的痕迹
把 C 组输出和 A、B 两组对比,判断它更像哪一组。可用下面这张观察表的维度逐条填:
| 观察位置 | 看什么 | 说明 |
|---|---|---|
| 输出首句 | 先描述画面内容,还是先回应语音里说的话 | 最主要的顺序线索 |
| 冲突样例 | 语音说“看红色那个”,图里红色不是目标时,模型服从哪边 | 比首句更能暴露优先级 |
| 模态指代词次序 | “图中”“画面里”“你刚才提到”谁先出现 | 只作辅助,受措辞习惯影响 |
| 缺模态提示 | 只给图或只给语音时,是否提示缺少另一路 | 用于确认模型确实读到了两路 |
有一点要排除:如果输出被模板固定为“先图后语音”的格式(例如结构化字段顺序写死),这个顺序不代表模型先用了图像,只代表渲染顺序。判断前先确认输出格式是不是模型自由生成的。
交换图文语音的输入位置再跑一轮
把图像放在语音之后、再放在语音之前各跑一轮,输入内容完全不变,只改数组里的排列位置。对照表可以直接沿用上一节的字段,加两列:
| 轮次 | 排列 | 首句模态 | 冲突时服从 | 输出长度 | 与上一轮是否一致 |
|---|---|---|---|---|---|
| 第 1 轮 | 文本-图像-语音 | 基准 | |||
| 第 2 轮 | 文本-语音-图像 |
需要固定的其他变量:文本问题原文、图像与语音文件、采样参数、每次新建会话、请求时段尽量接近。重复次数建议每种排列三次以上,记录方式是把完整响应体原样存文件并编号,不要只留一句人工摘要,否则回看时无法复查首句。如果交换位置后结果翻转,说明顺序很大程度由位置决定;如果不翻转,才可以把优先级当成模型侧的稳定倾向。
把观察到的优先级写进请求模板
模板里做三件事:固定模态排列顺序(例如文本在前、图像居中、语音在后,或按你测出的稳定顺序);在文本通道里显式写明以哪路输入为准,例如“当语音与图像内容冲突时,以图像内容为准”;给每路输入在文本里加标注,说明各自来源,减少模型靠猜。下面是一段可直接改写的提示词骨架:
你将收到一段文本指令、一张图像和一段语音。
处理顺序约定:先阅读图像内容,再理解语音内容,最后合并回答。
若图像与语音信息冲突,以图像为准,并在回答中说明冲突点。
回答第一句必须指出你最先依据的是哪一路输入。
最后一句是关键,它让顺序线索直接出现在输出里,便于回归验证。验证方式:用第 1 节的 C 组请求跑三次,看首句是否稳定指出同一路输入、冲突样例是否按模板约定服从。如果模板写“以图像为准”而输出仍服从语音,调整步骤是:先把模态排列换成与观察结果一致的那种再测一次,排除位置效应;仍然不一致,就在提示词中把冲突规则写成具体例子,而不是抽象表述;再不一致,说明当前接入方式下优先级不可控,应在业务侧拆成两次请求分别处理图和语音,而不是继续加长提示词。