AI-инжиниринг

Multimodal AI: vision, audio, документы - один API для всего

Цели урока

  • Понять разницу между multimodal AI и pipeline из специализированных моделей
  • Интегрировать Vision API (GPT-4o, Claude) для анализа изображений
  • Реализовать document processing: text extraction, vision-based и structured extraction
  • Использовать audio input GPT-4o для speech-to-meaning задач
  • Спроектировать multimodal backend с upload, routing и processing pipeline

GPT-4V (ноябрь 2023) - модель которая видит. Через 6 месяцев GPT-4o добавила аудио. Через год - Gemini 1.5 Pro обрабатывает 1 час видео в одном контексте. Мультимодальность перестала быть фичей и стала базовым ожиданием. Теперь пользователь фотографирует чек - приложение извлекает сумму и список покупок. Студент загружает лекцию в PDF - AI генерирует конспект с формулами. Клиент отправляет голосовое со скриншотом ошибки - support-бот видит и слышит одновременно.

  • Notion AI анализирует загруженные PDF, изображения и таблицы - извлекает данные в structured формат без pipeline из отдельных моделей
  • Stripe Document AI верифицирует ID и банковские выписки через vision: сокращение ручной проверки на 60%
  • Google Lens: мультимодальный поиск в реальном времени - распознаёт текст, переводит, находит товары в одном запросе
  • Perplexity анализирует изображения в поисковых запросах - GPT-4o vision как часть retrieval pipeline

Как возникла мультимодальность

**CLIP (OpenAI, январь 2021)** - первая модель, связавшая изображения и текст в едином latent space. Обучена на 400M пар картинка-текст из интернета. Не генерирует - понимает связи. **Flamingo (DeepMind, апрель 2022)** - first few-shot multimodal LLM: несколько примеров в контексте, и модель понимает новые задачи. **GPT-4V (OpenAI, сентябрь 2023)** - vision появляется в GPT-4. Первый раз широкая аудитория видит: LLM умеет читать скриншоты, анализировать графики, описывать фотографии. **GPT-4o (май 2024)** - native multimodal: один transformer для текста, аудио и изображений. Не pipeline, не дообучение поверх - единая архитектура. **Gemini 1.5 Pro (2024)** - 1M context window: 1 час видео, 11 часов аудио или 30 000 строк кода в одном запросе.

Предварительные знания

  • LLM API Integration: OpenAI, Anthropic, Open-Source Models

Что такое Multimodal AI: vision, audio, документы в одном API

Ноябрь 2021. OpenAI выпускает CLIP - модель, которая понимает связь между картинкой и текстом. Никто не называет это революцией. Через год DeepMind показывает Flamingo - первая модель, где изображение и текст живут в одном контексте. Ещё через год - GPT-4V. А потом GPT-4o: одна модель, которая слышит, видит и читает. **За три года мультимодальность из фичи стала базовым ожиданием.**

Multimodal AI - модели, принимающие несколько типов данных одновременно: текст, изображения, аудио, видео, документы. Ключевое слово - **одновременно**. Не OCR → LLM → TTS по цепочке, а одна модель, понимающая контекст всего сразу. Разница как между оркестром и набором солистов из разных комнат.

МодельТекстИзображенияАудиоВидеоPDF/Docs
GPT-4oДаДаДа (input)Через framesЧерез vision
Claude Sonnet/OpusДаДаНетНетДа (native PDF)
Gemini 2.0 FlashДаДаДаДа (native)Да
Llama 3.2 VisionДаДаНетНетЧерез vision

**Multimodal модель ≠ multimodal pipeline.** Истинный multimodal - когда одна модель обрабатывает все типы данных в едином контексте. Pipeline - когда OCR + LLM + TTS соединены последовательно. В production часто используется гибрид: multimodal для понимания + специализированные для генерации.

Для backend-разработчика это новый класс задач: обработка загруженных изображений, парсинг PDF-документов, анализ скриншотов, voice-to-action. API-интерфейс остаётся знакомым - те же messages, только content теперь массив с разными типами.

В чём ключевое преимущество multimodal модели перед pipeline из специализированных моделей?

Vision API: GPT-4 Vision и Claude Vision - анализ изображений

Одно изображение в GPT-4o - это не "картинка". Это **серия токенов**. Модель разбивает изображение на патчи 16x16 пикселей, каждый патч преобразуется в вектор, векторы поступают в transformer наравне с текстовыми токенами. Никакого особого "зрения" - только те же матрицы внимания, только входные данные другие. При `detail: high` одна картинка 1024x1024 = ~765 дополнительных токенов. При `detail: low` - фиксированные 85 токенов.

Два способа передать изображение: **URL** (модель скачивает сама, не попадает в биллинг по размеру) и **base64** (встроено в тело запроса, работает без внешнего хостинга). GPT-4o и Claude Sonnet - основные провайдеры с разным форматом API.

ПараметрOpenAI (GPT-4o)Anthropic (Claude)
Формат изображенияimage_url (URL или base64 в URL)image (base64 отдельным полем)
Детализацияdetail: low/high/autoНет параметра (всегда high)
Макс. размер20 MB5 MB (base64 в запросе)
Несколько картинокДа (до 10+)Да (до 20)
Стоимость (high detail)~765 токенов за 512x512 тайл~1600 токенов за изображение

**detail: 'low' экономит 10x токенов.** В режиме low OpenAI использует фиксированно 85 токенов на изображение вместо 765+ в high. Для задач типа "что на картинке?" - low достаточно. High нужен для мелкого текста, чертежей, UI-скриншотов. Цена одного изображения при gpt-4o: detail:low = ~USD 0.00065, detail:high для 1024x1024 = ~USD 0.00765.

При анализе скриншота мобильного приложения с мелким текстом, какой параметр detail использовать в GPT-4o Vision?

Document Processing: PDF parsing, OCR, structured extraction

PDF приходит в систему - и сразу встаёт выбор. Это текстовый PDF (контракт, статья с текстовым слоем) или скан (фото документа, без текстового слоя)? Ответ меняет всё: **text extraction** (pdf-parse, pdfjs) работает только с текстовым слоем. Скан - это изображение, текстового слоя нет. Tesseract распознает, но теряет структуру. **Vision API** видит документ как человек - таблицы, вёрстку, подписи, расположение элементов.

**Выбор подхода по типу документа:** текстовый PDF (контракт, статья) → text extraction + LLM (дёшево, быстро). Скан, таблица, форма → vision-based (GPT-4o с Zod-схемой). PDF со сложной вёрсткой - Claude native PDF (видит структуру без конвертации). Structured extraction с Zod гарантирует формат: никаких "я извлёк число, но оно строкой".

Для извлечения данных из отсканированного бумажного счёта (скан в PDF) лучше использовать:

Audio Understanding: audio input для GPT-4o, speech-to-meaning

Whisper транскрибирует речь в текст - и теряет половину смысла. Сарказм, неуверенность, раздражение клиента на 56-й минуте звонка - всё это исчезает в плоском тексте. **GPT-4o audio input принимает аудио напрямую**. Модель слышит интонацию, паузы, темп. Это не STT - это speech-to-meaning: модель понимает что сказано и как. Stripe использует audio understanding для анализа звонков поддержки - не просто транскрипция, а детекция настроения и escalation risk.

**Audio input vs Whisper STT:** Whisper транскрибирует речь в текст - теряя интонацию, эмоции, паузы. GPT-4o audio input анализирует аудио напрямую, сохраняя все нюансы. Для задач с анализом настроения, тона и невербальных сигналов - audio input предпочтительнее. Но: максимальная длительность ~10 минут, для лекций и подкастов (10+ мин) Whisper STT → LLM по-прежнему выгоднее.

В чём преимущество GPT-4o audio input перед цепочкой Whisper STT → GPT-4o text?

Multimodal Architecture: upload, processing, routing

Production multimodal backend - это не "принять файл и отправить в OpenAI". Это система маршрутизации: изображение идёт в GPT-4o с `detail: high`, PDF - в Claude native (без конвертации), аудио - в gpt-4o-audio-preview, видео - разбивается на фреймы. **Каждый тип данных требует своей стратегии.** Router определяет стратегию по MIME-type - и клиентский код об этом не знает.

**Безопасность upload:** всегда валидировать MIME-тип на сервере (не доверять Content-Type от клиента - подделывается просто), ограничивать размер файла, удалять временные файлы после обработки, никогда не передавать user-supplied filename напрямую в файловую систему. Загруженный SVG может содержать XSS, загруженный PDF - эксплойт. Mime-type проверка - первый барьер, не единственный.

**Выбор провайдера по модальности** - production best practice. Claude лучше для PDF (native support, понимает структуру без конвертации), GPT-4o - для vision и audio (detail control, audio-preview модель). Router позволяет переключать провайдеров без изменения клиентского кода - замена на Gemini 2.0 для видео займёт 3 строки.

Почему multimodal router выбирает Claude для PDF, а GPT-4o для изображений?

Модель "видит" изображение как человек

Модель разбивает изображение на патчи 16x16 пикселей, каждый патч преобразуется в вектор-токен. Зрения нет - есть матричные операции над числами

"Vision" - маркетинговый термин. Внутри: изображение делится на сетку N×N патчей (patch size обычно 14 или 16 пикселей). Каждый патч линейно проецируется в embedding. Эти embeddings поступают в transformer наравне с текстовыми токенами. Attention механизм находит связи между патчами и текстом. Никакого отдельного "модуля зрения" - тот же self-attention, те же матрицы. Поэтому модель и теряет детали при detail:low - уменьшается количество патчей, уменьшается количество токенов.

Multimodal pipeline и multimodal модель - одно и то же

Pipeline - цепочка специализированных моделей (OCR → LLM → TTS), каждая не знает о других. Multimodal модель - единый контекст для всех модальностей

В pipeline каждый шаг теряет информацию. OCR выдаёт текст - но теряет расположение элементов, цвет, визуальный контекст. LLM получает плоский текст без визуальной структуры. В multimodal модели изображение и текст обрабатываются совместно в одном attention механизме - модель видит оба одновременно. Это принципиально для задач типа "что за текст написан рядом с красной кнопкой на этом скриншоте".

Итоги

  • CLIP 2021 → Flamingo 2022 → GPT-4V 2023 → GPT-4o native multimodal 2024: мультимодальность стала базовым ожиданием за три года
  • Модель не "видит" - разбивает изображение на патчи 16x16px, каждый патч = токен, всё через тот же transformer
  • Vision API: GPT-4o (detail: low = 85 токенов, high = 765+ за тайл 512x512), Claude (native base64, всегда high). Цена detail:high в gpt-4o ~0.00765 за изображение
  • Document processing: text extraction для текстовых PDF, vision+Zod для сканов, Claude native PDF для сложной вёрстки
  • Audio input GPT-4o - speech-to-meaning с интонацией и эмоциями, Whisper - только транскрипция. Audio input лимит: 10 минут
  • Production router: MIME-type → стратегия → провайдер. Claude для PDF, GPT-4o для vision/audio, Gemini для нативного видео

Вопросы для размышления

  • Какие задачи в текущем проекте можно было бы решить через multimodal API вместо цепочки специализированных инструментов?
  • Когда pipeline из OCR + LLM выгоднее нативного vision? Какие факторы - стоимость, скорость, объём - влияют на выбор?
  • Как бы выглядел multimodal router для системы обработки документов с 10 типами файлов и 3 провайдерами?

Что дальше

Multimodal AI анализирует существующий контент. Следующий шаг - генерация нового: изображения, видео, аудио через AI API.

  • Image Generation API — От анализа изображений к их генерации - DALL-E, Stable Diffusion, prompt engineering для картинок
  • Structured Output — Structured extraction с Zod - продолжение паттернов из урока structured output
  • Cost Management — Vision-токены дорогие. Оптимизация detail, выбор модели - часть cost management

Связанные уроки

  • aie-05-api-integration — Мультимодальные вызовы расширяют ту же интеграцию API
  • aie-26-image-generation — Понимание vision сочетается с генерацией изображений
  • aie-07-structured-output — Vision-результаты парсятся в структурированные схемы
  • aie-29-cost-management — Image-токены раздувают стоимость и требуют контроля
  • ml-38-image-classification — Классическая vision-задача теперь решается одним промптом
  • ml-29-cnn
Multimodal AI: vision, audio, документы - один API для всего

0

1

Войти