# 视觉语言模型介绍

### 使用场景

视觉语言模型（VLM）是一种能够同时接受视觉（图像）和语言（文本）两种模态信息输入的大语言模型。基于视觉语言模型，可以传入图像及文本信息，模型能够理解同时理解图像及上下文中的信息并跟随指令做出响应。如：

视觉内容解读：要求模型对图片中包含的信息进行解读、描述，如包含的事物、文字，事物的空间关系，图像的颜色、气氛等；
结合视觉内容及上下文，开展多轮会话；
部分替代 OCR 等传统机器视觉模型；
随着模型能力的持续提升，未来还可以用于视觉智能体、机器人等领域。

### 使用方式

对于 VLM 模型，可在调用 /chat/completions 接口时，构造包含 图片 url 或 base64 编码图片 的 message 消息内容进行调用。通过 detail 参数控制对图像的预处理方式。

2.1 关于图片细节控制参数说明
SiliconCloud 提供 low，high，auto 三个 detail 参数选项。 对于目前支持的模型，detail 不指定或指定为 high 时会采用 high（“高分辨率”）模式，而指定为 low 或者 auto 时会采用 low（“低分辨率”）模式。

2.2 包含图像的 message 消息格式示例

使用图片 url 形式

```
{
"role": "user",
"content":[
{
"type": "image_url",
"image_url": {
"url": "https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/658c7434-ec12-49cc-90e6-fe22ccccaf62_00001_.png",
"detail":"high"
}
},
{
"type": "text",
"text": "text-prompt here"
}
]
}
```

2.2 base64 形式

```
{
"role": "user",
"content":[
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}",
"detail":"low"
}
},
{
"type": "text",
"text": "text-prompt here"
}
]
}
```

2.3 多图片形式，其中每个图片可以是上述两种形式之一
请注意，DeepseekVL2系列模型适用于处理短上下文，建议最多传入2张图片。若传入超过2张图片，模型将自动调整图片尺寸为384\*384，且指定的detail参数将无效。

```
{
"role": "user",
"content":[
{
"type": "image_url",
"image_url": {
"url": "https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/658c7434-ec12-49cc-90e6-fe22ccccaf62_00001_.png",
}
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
},
{
"type": "text",
"text": "text-prompt here"
}
]
}
```

### 视觉输入内容计费方式

对于图片等视觉输入内容，模型会将其转化为 tokens，与文本信息一并作为模型输出的上下文信息，因此也会一并进行计费。不同模型的视觉内容转化方式不同。

图像输入以代币计量和收费，就像文本输入一样。给定图像的代币成本由两个因素决定：其大小和detail每个 image\_url 块上的选项。所有图像detail: low每张成本为 85 个代币。detail: high首先将图像缩放以适合 2048 x 2048 正方形，并保持其纵横比。然后，对它们进行缩放，使图像的最短边长为 768px。最后，我们计算图像由多少个 512px 正方形组成。每个正方形的成本为170 个代币。另外85 个代币始终添加到最终总数中。

以下是一些证明上述内容的例子。

模式下的 1024 x 1024 方形图像detail: high花费 765 个代币
1024 小于 2048，因此没有初始调整大小。
最短边是 1024，因此我们将图像缩小到 768 x 768。
需要 4 个 512px 方形图块来表示图像，因此最终的 token 成本为170 \* 4 + 85 = 765。

模式下 2048 x 4096 的图像detail: high花费 1105 个代币
我们将图像缩小到 1024 x 2048 以适合 2048 正方形。
最短边是 1024，因此我们进一步缩小到 768 x 1536。
需要 6 个 512px 的图块，因此最终的代币成本为170 \* 6 + 85 = 1105。

4096 x 8192 的图像detail: low最多需要 85 个代币
无论输入大小，低细节图像都是固定成本。

### 限制

虽然具有视觉功能的 GPT-4 功能强大，可用于多种情况，但了解该模型的局限性非常重要。以下是我们已知的一些局限性：

医学图像：该模型不适合解释 CT 扫描等专门的医学图像，不应用于医疗建议。

非英语：处理包含非拉丁字母（例如日语或韩语）文本的图像时，模型可能无法达到最佳效果。

小文本：放大图像中的文本以提高可读性，但避免裁剪重要细节。

旋转：模型可能会误解旋转/颠倒的文本或图像。

视觉元素：模型可能难以理解颜色或样式（如实线、虚线或点线）各异的图形或文本。

空间推理：该模型难以完成需要精确空间定位的任务，例如识别棋盘位置。

准确性：模型在某些情况下可能会生成不正确的描述或标题。

图像形状：该模型难以处理全景图像和鱼眼图像。

元数据和调整大小：该模型不处理原始文件名或元数据，并且图像在分析之前会调整大小，从而影响其原始尺寸。

计数：可以给出图像中物体的近似数量。

验证码：出于安全原因，我们实施了一个系统来阻止验证码的提交。

### 常问问题

我可以用来gpt-4生成图像吗？
不，你可以用它dall-e-3来生成图像和gpt-4o，gpt-4o-mini或者gpt-4-turbo来理解图像。

我可以上传什么类型的文件？
我们目前支持 PNG (.png)、JPEG (.jpeg 和 .jpg)、WEBP (.webp) 和非动画 GIF (.gif)。

我可以上传的图像大小有限制吗？
是的，我们将每张图片的上传大小限制为 20MB。

我可以删除我上传的图片吗？
不会，图像经过模型处理后，我们会自动为您删除该图像。

在哪里可以了解有关 GPT-4 与 Vision 的更多信息？
您可以在GPT-4 和 Vision 系统卡中找到有关我们的评估、准备和缓解工作的详细信息。
我们进一步实施了阻止提交 CAPTCHA 的系统。

GPT-4 与 Vision 的速率限制如何运作？
我们在令牌级别处理图像，因此我们处理的每个图像都会计入您的每分钟令牌 (TPM) 限制。有关用于确定每张图片令牌数的公式的详细信息，请参阅计算成本部分。

带有 Vision 的 GPT-4 能理解图像元数据吗？
不，模型不接收图像元数据。

如果我的图像不清楚怎么办？
如果图像模糊不清，模型会尽力解读它。但结果可能不太准确。一个好的经验法则是，如果普通人无法在低/高分辨率模式下看到图像中的信息，那么模型也同样无法看到。
