视觉语言模型 - MyTokenGate
1. 使用场景
视觉语言模型(VLM)是一种能够同时接受视觉(图像)和语言(文本)两种模态信息输入的大语言模型。基于视觉语言模型,可以传入图像及文本信息,模型能够理解同时理解图像及上下文中的信息并跟随指令做出响应。如:
- 视觉内容解读:要求模型对图片中包含的信息进行解读、描述,如包含的事物、文字,事物的空间关系,图像的颜色、气氛等;
- 结合视觉内容及上下文,开展多轮会话;
- 部分替代 OCR 等传统机器视觉模型;
- 随着模型能力的持续提升,未来还可以用于视觉智能体、机器人等领域。
2. 使用方式
对于 VLM 模型,可在调用 /chat/completions 接口时,构造包含 图片 url 或 base64 编码图片 的 message 消息内容进行调用。通过 detail 参数控制对图像的预处理方式。
2.1 关于图片细节控制参数说明
MyTokenGate 提供 low,high,auto 三个 detail 参数选项。
2.2 包含图像的 message 消息格式示例
2.2.1 使用图片 url 形式
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.png",
"detail": "high"
}
},
{
"type": "text",
"text": "描述这张图片"
}
]
}2.2.2 base64 形式
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}",
"detail": "low"
}
},
{
"type": "text",
"text": "描述这张图片"
}
]
}2.2.3 多图片形式
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image1.png"
}
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
},
{
"type": "text",
"text": "比较这两张图片的异同"
}
]
}3. 支持模型列表
目前支持的视觉语言模型:
gpt-4o- GPT-4 多模态版本gemini-2.5-flash-image- Gemini 图像理解gemini-2.5-pro- Gemini Pro 多模态gemini-3-pro-image-preview- Gemini 3 图像预览版gemini-3.1-flash-image-preview- Gemini 3.1 图像预览版
4. 使用示例
4.1 图片理解
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://gateway.mytokengate.com/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.png"
}
},
{
"type": "text",
"text": "描述这张图片的内容"
}
]
}
],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end='', flush=True)4.2 多图理解
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://gateway.mytokengate.com/v1"
)
response = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image1.png"
}
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image2.png"
}
},
{
"type": "text",
"text": "比较这两张图片的异同"
}
]
}
],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end='', flush=True)5. 注意事项
- 图片大小建议不超过 20MB
- 支持的图片格式:PNG、JPEG、GIF、WebP
- 使用 base64 编码时,需在 URL 前添加
data:image/jpeg;base64,前缀 - 多图片输入时,建议不超过 10 张图片
Last updated on