Аудио, текст и изображение вместе
Согласование нескольких входных данных
«Аудио, текст и изображение вместе» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Три канала, один контекст
Согласование аудио, текста и зрения означает объединение трёх входных потоков в единый связный контекст. У каждой модальности свои стоимость в токенах, профиль точности и характерные сбои, однако модель объединяет их в едином пространстве внимания.
- Аудио: временное, упорядоченное, теряющее данные при сжатии.
- Зрение: пространственное, ограниченное бюджетом фрагментов, хрупкое к мелким деталям.
- Текст: точный и дешёвый, но способный подавлять остальные каналы.
Искусство состоит в том, чтобы выстроить их последовательность так, чтобы каждый усиливал остальные, а не заглушал их.
Роли модальностей, а не смешение
Назначьте каждому входу явную роль в запросе. Неясность относительно авторитетности каналов приводит к непоследовательным ответам при разных запусках.
- Визуальный канал = источник истины для того, что показано.
- Транскрипция аудио = то, что об этом сказано.
- Текстовая инструкция = контракт задачи и правила приоритета.
Заранее укажите роли, чтобы модель знала, какому источнику доверять при конфликте.
header = (
'INPUTS: (1) a video frame [authoritative for visible state], '
'(2) an audio transcript [authoritative for spoken intent], '
'(3) this instruction [defines the task]. '
'On conflict, prefer the frame for state and the transcript for intent.'
)Согласование аудио с кадрами
Аудио и изображение должны быть согласованы по времени, иначе модель сопоставит неправильные слова с неправильным изображением. Предоставьте явное согласование: добавьте временные метки к транскрипции и кадрам, а затем позвольте модели объединить их по времени.
Без метаданных согласования модель угадывает соответствие — это допустимо для нестрогих задач, но недопустимо для синхронного анализа.
payload = {
'frames': [{'t': 0.0, 'image': f0}, {'t': 2.5, 'image': f1}],
'transcript': [
{'start': 0.0, 'end': 2.4, 'text': 'Now I tighten the bolt.'},
{'start': 2.5, 'end': 5.0, 'text': 'It is fully seated.'}
]
}Предварительная транскрипция или исходное аудио
Вы можете передать исходное аудио модели, работающей с аудио напрямую, либо предварительно выполнить транскрипцию с помощью отдельного этапа ASR и передать текст. У каждого подхода есть свои компромиссы.
- Исходное аудио: сохраняет просодию, интонацию и перекрывающуюся речь, но расходует больше токенов и сложнее поддаётся привязке к источнику.
- Предварительно транскрибированный текст: дёшев, допускает цитирование по временной метке, но отбрасывает нелексические признаки (сарказм, срочность).
Выбирайте подход по задаче: эмоции и намерение → исходное аудио; извлечение фактов → транскрипция.
Порядок чередования
Последовательность, в которой появляются каналы, формирует направление внимания. Надёжный вариант по умолчанию для задач анализа:
- Контракт задачи и роли (текст).
- Визуальные свидетельства (кадры), каждое с подписью и временной меткой.
- Транскрипция аудио с временными метками.
- Конкретный вопрос (текст) со ссылками на подписи и временные метки.
Размещение вопроса в конце позволяет модели направить внимание на всё уже закодированное.
Распределение бюджета токенов
Три канала конкурируют за одно контекстное окно. Компьютерное зрение требует больше всего ресурсов; несжатое аудио занимает второе место по затратам. Распределите приоритеты перед отправкой:
- Выбирайте частоту выборки кадров в соответствии с задачей — не обрабатывайте каждый кадр.
- Обрезайте кадры до области действия.
- Разбивайте аудио на релевантные фрагменты; удаляйте тишину.
Направляйте бюджет туда, где находится ответ.
def select_frames(frames, fps_target, src_fps):
step = max(1, round(src_fps / fps_target))
return frames[::step]Перекрёстное подтверждение между модальностями
Самая большая польза от запросов с несколькими входами — это подтверждение: когда один и тот же факт можно независимо вывести из двух каналов, совпадение служит веским доказательством, а расхождение — тревожным сигналом.
Попросите модель вывести каждый ключевой факт отдельно для каждого канала и сообщить, совпадают ли результаты, вместо того чтобы сводить всё к одному объединённому ответу, скрывающему, какому источнику она доверилась.
ask = (
'For each claim report: from_vision, from_audio, agree(bool). '
'If only one channel supports it, say which and lower confidence.'
)Обработка отсутствующих или ухудшившихся каналов
Реальные входные данные могут ухудшаться: приглушённая запись, размытый кадр, обрезанная транскрипция. Объясните модели, как действовать при неполных доказательствах, вместо того чтобы позволять ей выдумывать содержимое отсутствующего канала.
- 'Если аудио неразборчиво на каком-либо фрагменте, пометьте его как [INAUDIBLE].'
- 'Если кадр слишком размыт, чтобы его прочитать, верните НЕ_ЧИТАЕМО для этого поля.'
Корректная работа при ухудшении данных лучше незаметного выдумывания.
Сопоставление говорящего и объекта
Сложные мультимодальные задачи требуют связать того, кто говорит (диаризация аудио), с тем, кто виден (компьютерное зрение). Явно задайте это сопоставление: попросите модель связать метки говорящих с людьми в кадре по времени и видимым признакам, таким как движение губ или жесты.
Требуйте обосновывать каждое сопоставление и временной меткой, и визуальным признаком.
binding = {
'speaker': 'S1', 'person_box': [0.1,0.2,0.4,0.9],
'evidence': 'lips move during 3.2-4.1s; gestures while speaking'
}Вывод: объединённый, но отслеживаемый ответ
Итоговый ответ должен быть объединённым для удобства чтения, но при этом сохранять возможность отследить данные по каждому каналу. Верните структурированный объект: синтезированный вывод и подтверждающие данные из каждой модальности с временной меткой или ограничивающей рамкой.
Это позволяет людям принять удобное резюме и при этом проверить любую отдельную формулировку, вернувшись к исходному каналу.
out = {
'summary': 'The technician seated the bolt correctly.',
'evidence': [
{'modality': 'vision', 'box': [0.3,0.4,0.6,0.7], 't': 2.5},
{'modality': 'audio', 'quote': 'It is fully seated.', 't': 3.0}
]
}Контрольный список оркестрации
Перед любым вызовом с тремя модальностями проверьте:
- Роли и приоритеты указаны.
- Кадры и транскрипция снабжены временными метками и синхронизированы.
- Каналы распределены по приоритетам так, чтобы уложиться в бюджет.
- Запрошены подтверждение и пометка расхождений.
- Маркеры ухудшения данных определены (INAUDIBLE, НЕ_ЧИТАЕМО).
- Вывод объединён, но доказательства отслеживаются.
Каждый пункт устраняет определённый сценарий сбоя при объединении нескольких входов.
Быстрая проверка
Вы анализируете обучающее видео и хотите определить, соответствует ли произнесённое рассказчиком утверждение действию на экране на каждом шаге.
Итоги: координация нескольких входов
Трёхмодальные запросы работают, когда Вы явно назначаете роли и приоритеты каналов, синхронизируете аудио и кадры по временным меткам, распределяете приоритеты каналов в соответствии с бюджетом и запрашиваете подтверждение для каждого канала с маркерами ухудшения данных для отсутствующих доказательств. Выбирайте необработанное аудио или предварительную транскрипцию в зависимости от важности просодии. Предоставляйте объединённое резюме, в котором каждое утверждение всё ещё можно отследить до рамки или временной метки: его удобно читать и можно проверять.
Изучай 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 структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Аудио, текст и изображение вместе»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объединение текста и изображений
- Привязка между модальностями
- Аудио, текст и изображение вместе
- Управление мультимодальным выводом