Привязка между модальностями
Использование визуальных свидетельств в тексте
«Привязка между модальностями» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Что означает привязка к источнику
Привязка к источнику — это требование, согласно которому каждое текстовое утверждение можно проследить до конкретного свидетельства в другой модальности. Мультимодальный ответ без привязки — это беглая догадка, а ответ с привязкой — обоснованное утверждение с указателем на пиксели (или аудиокадр), которые его подтверждают.
- Привязка превращает непрозрачный вывод в проверяемый.
- Это самый действенный способ противостоять уверенным зрительным галлюцинациям.
Порядок рассуждений от свидетельств
Заставьте модель извлекать свидетельства до формирования вывода. Если вывод создаётся первым, «свидетельства» превращаются в последующее обоснование, подогнанное под уже полученный (возможно, ошибочный) ответ.
Структурируйте ответ так, чтобы сначала шли наблюдаемые области, затем интерпретация и только потом окончательный ответ.
schema = {
'observations': '[{region: str, text_read: str}]',
'inference': 'str — reasoning over observations only',
'answer': 'str'
}
# Order in the prompt enforces order in generation.Цитирование ограничивающих рамок и областей
Попросите модель выводить приблизительные нормализованные координаты для каждого визуального утверждения. Даже неточные рамки полезны: последующая система может обрезать область и повторно проверить её, а явно неправильная рамка сразу обнаруживает галлюцинацию.
- Используйте нормализованные координаты [x0,y0,x1,y1] в диапазоне от 0 до 1, чтобы разрешение не имело значения.
- Рассматривайте рамки как подсказки для локализации, а не как обнаружение с точностью до пикселя.
instruction = (
'For each extracted field, return '
'{"field": str, "value": str, "box": [x0,y0,x1,y1]}. '
'Coordinates normalized 0..1. If you cannot locate it, omit the field.'
)Проверка по дословной цитате с изображения
Для любого текста, видимого на изображении, требуйте дословно цитировать прочитанное моделью. Дословную цитату можно проверить: Вы можете выборочно сопоставить её с OCR, и модели гораздо сложнее выдумать значение, которое ей также придётся точно переписать.
Это ограничение «прочитать и воспроизвести» дёшево и непропорционально эффективно для документов, диаграмм и вывесок.
Проверка согласованности между модальностями
Когда один и тот же факт присутствует в двух модальностях (на изображении слайда и в его устном объяснении), попросите модель сопоставить их. Совпадение повышает уверенность, а расхождение само по себе является важным сигналом, который следует обнаружить.
- «Соответствует ли подпись к рисунку тому, что показывает диаграмма?»
- «Совпадает ли устное объяснение с числом на экране?»
prompt = (
'You have a slide image and its transcript. '
'For each numeric claim, state: value_on_slide, value_in_transcript, agree(bool). '
'Flag any disagreement explicitly.'
)Отказ как результат привязки к источнику
Система с привязкой к источнику должна иметь возможность ответить «не видно». Без явно предусмотренного выхода модель заполнит пробелы правдоподобными выдумками. Предоставьте такую возможность и поощряйте её использование.
Дайте инструкцию: «Если свидетельство отсутствует или неразборчиво, верните NOT_FOUND, а не угадывайте». Затем сделайте результат «НЕ_НАЙДЕНО» полноценным и нештрафуемым вариантом вывода в Вашем конвейере.
Привязка пространственных отношений
Реляционные утверждения («клапан находится слева от манометра») сложнее привязать к источнику, чем наличие объекта. Попросите модель независимо привязать обоих участников с помощью рамок, а затем вывести отношение из координат, не утверждая его напрямую.
Такое разложение превращает хрупкое реляционное суждение в две более простые задачи локализации и арифметику.
# Derive relation from grounded boxes, not from vibes
# left_of(a, b) := a.x1 < b.x0
def left_of(a, b):
return a['box'][2] < b['box'][0]Привязка аудио и времени
Привязка к источнику распространяется не только на изображения. Для аудио или видео требуйте временные метки как свидетельство: «укажите временную метку [mm:ss], где это было сказано». Временные указатели позволяют сопоставить утверждение с исходным фрагментом.
- Временные метки привязывают утверждения о транскрипции и диаризации.
- Они обнаруживают пересказ, отклоняющийся от того, что было сказано на самом деле.
Ловушка подмены текстом
Уверенное утверждение в текстовом канале может подавить правильные визуальные свидетельства — модель отдаёт предпочтение предоставленному ранее утверждению. Если в Вашем контексте сказано «итоговая сумма счёта составляет $400», а на изображении указано $450, модель без привязки может повторить $400.
Защита: попросите модель сначала вывести сведения исключительно из изображения, затем сопоставить их с предоставленным текстом и отметить расхождения, а не молча согласовывать их.
Проверка привязки на последующих этапах
Привязка полезна только в том случае, если Вы используете её результаты. Создайте средство проверки, которое получает структурированные свидетельства:
- Повторно обрежьте каждую рамку и выполните повторный OCR для процитированного текста; несовпадение → отклонить.
- Повторно обработайте указанную временную метку с помощью второго прохода ASR.
- Рассматривайте результаты «НЕ_НАЙДЕНО» и флаги конфликтов как сигналы для направления на проверку человеком.
Запрос создаёт свидетельства, а Ваша система обеспечивает их соблюдение.
def verify(field):
crop = image.crop(field['box'])
read = ocr(crop)
return similar(read, field['value']) > 0.9Шаблон контракта привязки
Повторно используемый контракт привязки объединяет все приёмы:
- Наблюдения до выводов.
- Рамка и дословная цитата для каждого утверждения.
- «НЕ_НАЙДЕНО» как запасной выход — никогда не угадывайте.
- Вывод сначала из изображения, затем согласование с предоставленным текстом и обнаружение конфликтов.
- Временные метки для любых утверждений об аудио или видео.
Зафиксируйте этот подход один раз и используйте его повторно для любых мультимодальных задач.
Быстрая проверка
В метаданных контекста указано, что итоговая сумма составляет $400, но Вы подозреваете, что на отсканированном изображении может быть другое значение.
Повторение: привязка в разных модальностях
Привязка делает мультимодальный вывод проверяемым: наблюдения до выводов, рамки и дословные цитаты для каждого утверждения, временные метки для аудио и видео, возможность вернуть «НЕ_НАЙДЕНО» и вывод сначала из изображения с обнаружением конфликтов с предоставленным текстом. Объедините контракт привязки с последующим средством проверки, которое повторно обрезает области, перечитывает данные и направляет флаги на проверку. Свидетельства — в запросе, обеспечение соблюдения — в системе: вместе они нейтрализуют уверенные галлюцинации.
Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 53
- Уроки
- 199
Часто задаваемые вопросы
Урок «Привязка между модальностями» бесплатный?
Да — полный текст урока «Привязка между модальностями» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Привязка между модальностями»?
Использование визуальных свидетельств в тексте Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Prompt Engineering?
Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Привязка между модальностями»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объединение текста и изображений
- Привязка между модальностями
- Аудио, текст и изображение вместе
- Управление мультимодальным выводом