聊天识图(Vision)
让 AI 模型看懂图片,支持 base64、URL 两种图片传入方式。
在 messages 的 content 字段中使用 image_url 类型即可传入图片:
支持图片的模型
目前支持视觉理解的模型包括:gpt-4o、gpt-4o-mini、claude-3.5-sonnet、gemini-1.5-pro、gemini-1.5-flash。
通过 URL 传入图片
Python
from openai import OpenAI
client = OpenAI(
api_key="am-your-api-key",
base_url="https://allmodel.top/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/photo.jpg",
"detail": "high"
}
}
]
}
]
)
print(response.choices[0].message.content)
通过 Base64 传入图片
Python Base64
import base64
# 读取本地图片并转为 base64
with open("photo.jpg", "rb") as f:
img_data = base64.b64encode(f.read()).decode("utf-8")
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{img_data}",
"detail": "low"
}
}
]
}
]
)
detail 参数说明
high— 高精度,会消耗更多 token,但分析更准确low— 低精度,消耗更少 token,适合简单识别auto— 由模型自动选择
💡 提示:Claude 和 Gemini 对图片格式支持略有不同,请参考各模型的具体说明。Gemini 支持的图片格式更广(png/jpeg/gif/webp/bmp/heic)。
allmodel.top