平台能力
视觉语言模型
用对话接口组合文本与图像输入,完成图片理解、OCR、图表分析和视觉问答。
视觉能力不是独立端点,而是对话模型的输入模态:仍然调用 POST /v1/chat/completions,只是 messages[].content 从字符串变成「文本 + 图片」的片段数组。
与纯文本对话的差异
messages[].content
├─ 纯文本模型: "请描述这张图片" → string
└─ 视觉模型: [{type:"text"…}, {type:"image_url"…}] → array网关只做透传与协议转换,不判断模型是否真的能看图。选错模型时,通常表现为上游返回参数错误或直接忽略图片内容,因此先确认模型带视觉能力,再发送多模态消息。
选型维度
视觉能力通过模型目录的 tags 或 capabilities 判定,不要从名称猜测:
| 维度 | 需要确认的内容 |
|---|---|
| 上下文长度 | 多图、长文档截图会显著占用上下文。 |
| 单图解析 | 是否支持高分辨率图片、PDF 页面图。 |
| 多图输入 | 单次请求允许的图片数量与总大小。 |
| 推理能力 | 需要跨图比较或图表推断时,确认模型支持多步推理。 |
具体模型标识以模型目录为准,本文档不列举固定清单。目录中标记视觉能力的条目即支持图片输入,以接口返回为准:
curl "${BASE_URL}/v1/public/models?availableOnly=true" \
-H "Authorization: Bearer ${APIQIK_API_KEY}"请求结构
{
"model": "<vision-model-id>",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "请描述图片主要内容,并按阅读顺序列出可见文字。" },
{ "type": "image_url", "image_url": { "url": "https://example.com/page.png" } }
]
}
]
}| 片段类型 | 字段 | 说明 |
|---|---|---|
text | text | 指令或问题文本。 |
image_url | image_url.url | HTTPS 图片地址或 data:image/...;base64,...。 |
多图对比时在同一条 content 中追加多个 image_url 片段即可;图片在提示词中的顺序会影响模型的理解,比较类任务建议在图前用文本说明「第一张」「第二张」。
输入方式取舍
| 方式 | 适合场景 | 注意 |
|---|---|---|
| HTTPS 图片 URL | 公开或短时签名资源。 | 上游必须可访问,签名有效期要覆盖整次请求。 |
| Data URL(Base64) | 小型本地图片、内部系统截图。 | 请求体显著变大,注意网关与模型的大小上限。 |
| 多图输入 | 票据多页、前后对比、序列理解。 | 图片数量与总大小同时抬高延迟和 Token 成本。 |
提示词建议
- 先说明任务类型:描述、定位、转写、比较还是判断。
- OCR 场景明确阅读顺序、语言和输出格式,必要时要求保留原文换行。
- 图表分析要求区分「图上直接可见的数据」和「模型推断的结论」。
- 金额、证件号、坐标等高风险字段应做二次校验,不要直接入库。
- 不要把含密钥、个人隐私或内部数据的图片放到公开 URL。
常见问题
- 模型忽略图片:模型本身不支持视觉,或图片片段结构不符合 OpenAI 多模态格式。
- 上游拉取图片失败:URL 需要鉴权、已过期或不可公网访问,改用 Data URL 或可公开访问的临时链接。
- 输出被截断:图片理解的描述通常较长,适当提高
max_tokens。