视觉理解
了解如何在 Mint Cloud AI 平台使用视觉理解功能,让模型能够分析和理解图像内容。
支持视觉的模型
以下模型支持图像输入功能:
gpt-4ogpt-4o-miniclaude-3-opusclaude-3-sonnetclaude-3.5-sonnetgemini-pro-visiongemini-1.5-progemini-1.5-flash
发送图片方式
你可以通过两种方式发送图片:
Base64 编码
将图片转换为 base64 字符串,适合小图片或临时生成的图像。
格式:data:image/jpeg;base64,/9j/4AAQ...
URL 地址
提供图片的公开 URL,模型将自动获取并分析图片内容。
格式:https://example.com/image.jpg
Message 格式
使用 content 数组发送包含文本和图片的消息:
消息格式
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片"},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}}
]
}
]支持的图片格式
JPEGPNGGIFWebP
注意:不同模型可能对图片格式有特定限制,请参考各模型的官方文档。
示例代码
发送图片请求
import base64
# 读取图片并转换为 base64
with open("image.jpg", "rb") as f:
image_data = base64.b64encode(f.read()).decode("utf-8")
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片"},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_data}"}}
]
}
]
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=messages
)
print(response.choices[0].message.content)多图片输入
你可以在一次请求中发送多张图片,模型会同时分析所有图片:
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "比较这两张图片的异同"},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,第一张图片..."}},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,第二张图片..."}}
]
}
]最佳实践
图片大小限制
建议图片大小不超过 20MB。大型图片会增加请求延迟和成本。
压缩建议
- 使用适当的分辨率,过高的分辨率不会提升识别效果
- JPEG 格式通常足够满足大多数视觉识别任务
- 避免使用过于模糊或低质量的图片
提示词技巧
在提示词中明确说明你希望模型关注的内容,例如"描述图片中的物体"、 "提取图片中的文字"等,可以获得更准确的回答。