Мультимодальный RAG
Поиск по тексту и изображениям
Проблема: Текстовый RAG не справляется с визуальным контентом (диаграммы, таблицы, фото, графики). Когда документы содержат изображения, традиционный текстовый RAG не может найти визуальную информацию или рассуждать о ней.
Решение: Три архитектуры мультимодального RAG
Мультимодальный RAG расширяет обычный retrieval-augmented generation так, чтобы этап поиска умел находить и рассуждать про изображения, а не только текст. В текстовом RAG ты разбиваешь корпус на чанки, превращаешь каждый чанк в вектор с помощью модели эмбеддингов (embeddings), складываешь векторы в векторную базу данных и на запросе достаёшь ближайшие чанки, чтобы передать их в LLM. Проблема в том, что огромная часть реальных знаний живёт в диаграммах, таблицах, графиках, скриншотах и фотографиях. Если ты эмбедишь только окружающий текст, модель фактически слепа к этому содержимому. Мультимодальный RAG решает это, давая ретриверу способ представлять визуальную информацию напрямую.
Как это работает: три архитектуры
Первый подход использует совместные эмбеддинги (embeddings) текста и изображений из модели вроде CLIP: картинка кодируется сразу в вектор, который живёт в том же пространстве, что и текстовые эмбеддинги, поэтому текстовый запрос может найти подходящее изображение по сходству. Это быстро и отлично для «найди похожую картинку», но единственный вектор отбрасывает мелкие детали, поэтому плохо отвечает на конкретные вопросы о том, что внутри изображения. Второй подход — генерация LLM-описаний: vision-модель пишет текстовое описание каждого изображения (или таблицы), и ты эмбедишь этот текст обычным пайплайном. Теперь работает всё, что ищется словами, но достаётся только то, что описание упомянуло — визуальные нюансы теряются при «переводе». Третий подход — мульти-векторные модели позднего взаимодействия (late interaction), такие как ColPali, хранят векторы на уровне патчей и токенов для всей страницы и сопоставляют токены запроса с каждым патчем, сохраняя разметку и визуальную структуру ценой более крупного индекса.
Как выбрать и разбор примера
Выбирай архитектуру по типу запроса: CLIP — для поиска изображение-по-изображению, LLM-описания — когда пользователи задают текстовые вопросы и нужен дешёвый обычный текстовый индекс, ColPali — когда важна разметка документа (формы, научные PDF, слайды). Конкретно: представь PDF на 40 страниц, где на странице 12 есть столбчатый график выручки, а пользователь спрашивает «в каком квартале была максимальная выручка?». Текстовый RAG не находит ничего полезного, потому что ответ есть только в столбцах. Пайплайн с LLM-описаниями сработает только еслисгенерированная подпись уже сказала «Q3 — максимум». ColPali же достаёт саму страницу с графиком, сопоставляя токены запроса с визуальными патчами, а модель-генератор читает столбцы и отвечает. Компромисс: мульти-векторный индекс ColPali гораздо крупнее и медленнее в поиске, поэтому для маленькой галереи фото товаров CLIP — прагматичный выбор.
Представьте это как библиотекаря, который умеет искать как по текстовым описаниям, так и просматривая реальные иллюстрации в книгах:
- 1. CLIP Embeddings: Изображение поступает напрямую в CLIP-энкодер, создавая вектор для поиска по сходству. Быстро, но не позволяет отвечать на текстовые вопросы о содержимом изображения.
- 2. LLM-описания: LLM описывает каждое изображение текстом, затем текст эмбедится обычным образом. Доступно для текстового поиска, но теряет визуальные детали при переводе.
- 3. Мульти-вектор (ColPali): Модель позднего взаимодействия создаёт embeddings на уровне токенов как для текста, так и для патчей изображений. Лучшая точность, сохраняет разметку и визуальную информацию.
- 4. Выбор подхода: CLIP — для поиска изображение-по-изображению, LLM-описания — для текстового Q&A об изображениях, ColPali — для понимания документов с чувствительным к разметке поиском.
Где нужен мультимодальный RAG
- Техническая документация: Диаграммы и схемы наряду с текстовыми пояснениями, доступные для поиска как по визуальному сходству, так и по текстовым запросам.
- Медицинские записи: Рентгеновские снимки, МРТ в составе записей пациентов, обеспечивающие поиск по запросу «покажи случаи с похожими изменениями на рентгене грудной клетки».
- E-commerce: Фотографии товаров в сочетании с описаниями для визуального поиска: «найди похожие товары» или «красное платье с цветочным принтом».
- Юридический анализ: Договоры с печатями, подписями, рукописными пометками, влияющими на интерпретацию наряду с печатным текстом.
Интересный факт: ColPali (2024) от Illuin Technology показал, что единственная vision-модель способна сравняться или превзойти сложные OCR+текстовые пайплайны по качеству поиска документов, будучи при этом в 4 раза быстрее при индексации. Ключевое наблюдение: визуальные токены сохраняют информацию о разметке, которая теряется при извлечении текста.
Попробуйте сами!
Изучи визуализацию ниже: как каждая архитектура обрабатывает документ с изображениями — от разбиения на чанки до поиска и генерации.
Частые вопросы
Что такое мультимодальный RAG простыми словами?
Это обычный RAG (retrieval-augmented generation), который умеет искать не только по тексту, но и по изображениям — диаграммам, таблицам, графикам и фото. Вместо того чтобы эмбедить только текст вокруг картинки, мультимодальный RAG представляет саму визуальную информацию в виде векторов, поэтому модель может находить нужные изображения и отвечать на вопросы об их содержимом.
Чем мультимодальный RAG отличается от обычного текстового RAG?
Текстовый RAG разбивает документы на чанки, превращает их в эмбеддинги (embeddings) и ищет ближайшие по смыслу куски текста. Он слеп к содержимому диаграмм, графиков и фото. Мультимодальный RAG добавляет способ кодировать изображения напрямую — через совместные эмбеддинги (CLIP), текстовые описания от vision-модели или мульти-векторные модели вроде ColPali, — поэтому ответ может находиться внутри картинки, а не только в тексте.
Какие есть архитектуры мультимодального RAG и когда какую выбирать?
Три основные: 1) CLIP-эмбеддинги — картинка кодируется в один вектор, быстро, хорошо для поиска изображение-по-изображению; 2) LLM-описания — vision-модель описывает картинку текстом, который эмбедится обычным пайплайном, удобно для текстовых вопросов и дешёвого индекса; 3) мульти-вектор ColPali — хранит векторы на уровне патчей страницы, лучшая точность для документов с важной разметкой (формы, научные PDF, слайды), но индекс крупнее и медленнее.
Что такое ColPali и почему он лучше OCR для поиска по документам?
ColPali (2024, Illuin Technology) — это vision-модель позднего взаимодействия (late interaction), которая создаёт эмбеддинги на уровне патчей изображения и токенов запроса, сопоставляя их напрямую. Она сохраняет информацию о разметке страницы, которая теряется при извлечении текста через OCR. По качеству поиска документов ColPali сравним или превосходит сложные OCR+текстовые пайплайны, при этом примерно в 4 раза быстрее на индексации.
Попробуй сам
Интерактивное демо этой техники
Создать качественное текстовое описание диаграммы для RAG-индекса
На диаграмме показаны продажи по кварталам. Продажи растут.
Тип: Столбчатый график (bar chart) Тема: Квартальные продажи за год
Данные:
- Q1: $2.1M (минимум)
- Q2: $3.4M (+62% к Q1)
- Q3: $2.8M (-18% к Q2)
- Q4: $4.2M (+50% к Q3, максимум)
Тренды: Общий рост с провалом в Q3. Лучший квартал — Q4 (12.5M.
Выводы: Сезонный провал Q3, сильный финиш в Q4. Рост Q1→Q4: +100%.
Теги: продажи, квартальные, bar chart, revenue, сезонность, рост
В архитектуре "LLM-описания" качество текстового описания = качество поиска. Структура, точные данные и теги превращают изображение в поисковый артефакт.
Создайте бесплатный аккаунт для решения челленджей
3 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения