Что такое мультимодальность?
Мультимодальные модели понимают не только текст, но и изображения, аудио, видео. Это открывает совершенно новые классы задач: анализ медицинских снимков, проверка качества продукции, обработка скриншотов, работа с инфографикой.
Поддерживаемые модели
Через Polza.AI доступны следующие мультимодальные модели:
| Модель | Изображения | Аудио | Видео |
|---|---|---|---|
| GPT-4o | ✓ | ✓ | — |
| Claude Sonnet 4.6 | ✓ | — | — |
| Gemini 2.0 Flash | ✓ | ✓ | ✓ |
| Llama 3.2 Vision | ✓ | — | — |
Отправка изображений
Вариант 1: URL изображения
response = client.chat.completions.create(
model="google/gemini-2.0-flash",
messages=[{
"role": "user",
"content": [
{
"type": "text",
"text": "Опиши что изображено на фото и оцени качество продукта"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/product-photo.jpg"
}
}
]
}]
)
Вариант 2: Base64-кодирование
import base64
def encode_image(image_path: str) -> str:
with open(image_path, "rb") as f:
return base64.b64encode(f.read()).decode("utf-8")
image_data = encode_image("./screenshot.png")
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4-6",
messages=[{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_data}"
}
},
{
"type": "text",
"text": "Найди все баги и проблемы UX на этом скриншоте"
}
]
}]
)
Практические кейсы
Анализ чеков и накладных
def extract_invoice_data(image_path: str) -> dict:
image_b64 = encode_image(image_path)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image_b64}"}
},
{
"type": "text",
"text": 'Извлеки данные из чека в JSON: {"total": 0, "items": [], "date": ""}'
}
]
}],
response_format={"type": "json_object"}
)
import json
return json.loads(response.choices[0].message.content)
Анализ графиков и дашбордов
Отправьте скриншот Grafana или Excel-графика — модель опишет тренды, аномалии и ключевые наблюдения.
Ограничения и советы
- Размер: большинство моделей принимают изображения до 20MB
- Форматы: JPEG, PNG, GIF, WebP
- Несколько изображений: можно отправить до 10 изображений в одном запросе
- Детализация: для точного анализа используйте
detail: "high"(GPT-4o)
💡 Gemini 2.0 Flash — лучший выбор для задач с изображениями по соотношению цена/качество.