Мультимодальна AI-система: обробка тексту, зображень і аудіо

Заявки надходять текстом, фото й голосом — і обробляються в трьох різних сервісах, між якими губиться сенс. Ми проєктуємо та впроваджуємо мультимодальні AI-системи під ключ: один потік обробки тексту, зображень і аудіо. Це скорочує час на розбір звернення в рази й спирається на повну картину, а не на окремий фрагмент.
Часті запитання

Мультимодальна AI розсипається на стику тексту, фото та звуку

Клієнт надсилає заявку текстом, додає фото дефекту та голосове повідомлення — три канали, три різні шляхи обробки. Текст розбирає одна модель, зображення — друга, звук розшифровує третя.

Кожна гілка окремо працює, а на стику каналів результат розходиться: у листі один номер замовлення, на фото — інший, у записі названо третій.

Мультимодальна обробка ламається не всередині моделей, а на склейці. Помилки розпізнавання рідко видно на виході однієї гілки — їх маскує впевнена відповідь.

Проблема спливає пізніше: сутності не збігаються, поля заповнені суперечливо, у частини даних немає якоря, за яким їх зв’язати з рештою.

Різні типи даних надходять із незбіжною розміткою. У тексту є структура й ключі, у зображення — візуальні ознаки та впевненість моделі, у звуку — фрагменти без прив’язки до сутностей і авторів. Звести це в один запис вдається лише вручну, і кожна спірна заявка з’їдає час оператора на звірку.

Єдиний потік заявок будується інакше.

Спочатку загальний шар ідентифікації зв’язує канали за клієнтом, часом і контекстом звернення, потім ознаки узгоджуються між собою, а поріг впевненості відсікає те, що система не повинна додумувати за людину — такі дані позначаються як такі, що потребують перевірки, а не йдуть далі мовчки. Нижче розбираємо, як це збирається.

Що дає єдина мультимодальна AI замість набору сервісів

Коли текст, зображення й аудіо живуть у трьох окремих сервісах, кожен стик між ними — ручна робота: документ розпізнають в одному місці, реквізити переносять у друге, розшифрування дзвінка приклеюють у третьому.

На кожній склейці губиться контекст і з’являється клас помилок, якого не бачить жоден із сервісів: сума в рахунку й сума в листі розходяться, а звірити їх нікому — розходження спливає вже на фінальному розборі.

У єдиній мультимодальній системі модальності сходяться на спільному шарі уявлень: текст, зображення й звук приводяться до зіставного вигляду, і модель розбирає фрагмент цілком, а не три розрізнені відповіді.

Мовлення переводимо в текст окремим шаром — тут спираємося на відкриту модель Whisper, — але результат потрапляє в той самий наскрізний потік даних, що й поля документа.

Завдяки цьому ручні перенесення зникають: замість звірки даних із трьох джерел вручну залишається перевірка спірних випадків. Частка помилок на стику каналів падає в рази — розходження між модальностями ловиться автоматично й позначається як підозра, а не проходить далі процесом.

Час відгуку визначається вже не швидкістю окремої моделі, а зникненням каскаду: модальності обробляються паралельно й сходяться в одній точці, без послідовних запитів з очікуванням на кожному кроці.

Режими роботи: хмара, закритий контур, гібридна схема

Вибір режиму визначається не потужністю обладнання, а двома питаннями: які дані дозволено виносити за периметр і наскільки критична затримка відповіді.

У мультимодальної системи потоки різні — розшифрування мовлення чутливе до затримки, а розбір архіву сканів спокійно йде в нічну пакетну обробку.

Перемикання між режимами не означає переписування системи. Логіка обробки залишається єдиною, змінюється шар виконання: де фізично живуть моделі, де зберігаються проміжні артефакти розпізнавання й куди пишеться журнал запитів.

Варіант Коли підходить Обмеження
Хмарне розміщення Потрібен швидкий старт, піки навантаження непередбачувані, обмеження щодо даних дозволяють зовнішню обробку Залежність від каналу зв’язку; передачу даних потрібно обґрунтувати юридично
Закритий контур Персональні дані, комерційна таємниця, вимоги регулятора Ресурси фіксовані: пік вище розрахункового доведеться перечекати, масштабування — закупівлею
Гібридна схема Частина сценаріїв публічна, частина — чутлива Дорожче в підтримці: два контури, дві політики оновлень, синхронізація ваг моделей
Локальні моделі на об’єкті Потрібна робота без зв’язку, затримка критична Моделі компактніші — на складних сценаріях якість нижча, оновлення ставляться вручну

Межі між режимами задаються на рівні окремих потоків, а не всієї системи: чутливий аудіопотік залишається всередині, а генерація текстів іде назовні.

Етапи впровадження: від аудиту даних до передачі в роботу

Мультимодальна система не збирається з готових блоків: текст, зображення й аудіо надходять із різною якістю, а на виході потрібна одна узгоджена відповідь.

Тому робота йде етапами, і кожен завершується артефактом, який перевіряється до переходу до наступного — інакше дефект у даних спливе вже в експлуатації.

  1. Аудит даних. Дивимося обсяги за кожною модальністю, частку ручної розмітки, брак і пропуски, розсинхрон між текстом і доданим зображенням або записом.
  2. Узгодження критеріїв якості. Домовляємося, що вважаємо правильною відповіддю й які помилки критичні: хибне спрацювання, пропуск, неправильно визначена модальність.
  3. Проєктування схеми. Вирішуємо, як модальності сходяться в один ланцюжок: де розпізнавання мовлення, де розбір тексту, де зображення і в якій точці результати об’єднуються.
  4. Налаштування моделей. Підбираємо базові моделі під задачу, дообучаємо на підготовлених даних, задаємо пороги спрацювання й правила для спірних випадків.
  5. Перевірка якості. Прогоняємо на відкладеному наборі та на зрізах за модальностями, розбираємо помилки й за потреби повертаємося до розмітки або до схеми.
  6. Передача в експлуатацію. Віддаємо конфігурації, опис схеми, регламент оновлення моделей і порядок відкату на попередню версію.
  7. Навчання команди. Показуємо, як читати метрики й журнали роботи, що робити, якщо якість просіла після надходження нових даних.

На виході замовник отримує не набір розрізнених скриптів, а систему зі зрозумілими межами застосовності, вимірюваною якістю й точками контролю на кожному шарі.

Що залишається в замовника: схеми, налаштування й регламенти

Після запуску система живе без розробників, тому все, що визначає її поведінку, має бути відтворюваним на боці замовника.

Передаємо не «працюючий сервіс», а повний комплект: без нього будь-яка правка перетворюється на звернення до підрядника, а відкат — на пошук того, хто пам’ятає вихідні параметри. Склад фіксуємо в акті приймання й перевіряємо на стенді замовника.

  • Схема системи: контури обробки тексту, зображень і аудіо, потоки даних між сервісами, точки зберігання й зовнішні виклики з прив’язкою до мережевих сегментів.
  • Конфігурації за середовищами: тестовий, передпродуктивний і робочий набори параметрів, включно з порогами впевненості моделей, правилами маршрутизації модальностей і лімітами черг.
  • Політики доступу: ролі, права на сховища та індекси, сервісні облікові записи й порядок ротації ключів без зупинки обробки.
  • Схема даних: формати на вході й виході, терміни зберігання сирих файлів, перелік полів, які маскуються перед записом у журнали.
  • Документація: опис контурів, інструкції з типових операцій, відомі обмеження моделей і межі, за якими якість відповіді падає.
  • Регламент розбору інцидентів: як фіксується збій, які журнали й трасування дивитися, хто ухвалює рішення про відкат версії моделі.
  • Регламент оновлення: порядок викочування нових версій і шаблонів запитів, набір перевірочних сценаріїв і критерій, за якого оновлення відкочується.

Приймання йде за сценаріями: прогоняємо типові та пограничні випадки, звіряємо метрики якості й час відновлення після навчального збою. Навчання команди замовника — частина передачі, а не окрема опція.

Кейс: заявки з фото й голосом в одному потоці обробки

Клієнт — сервісна компанія з розподіленою мережею точок: за добу надходить кілька сотень звернень, і майже половина з них не чистий текст. Клієнт додає фото дефекту, записує голосове повідомлення, дописує коментар словами.

Оператор розбирав це вручну: читав текст, розглядав знімок, прослуховував аудіо — у середньому 14 хвилин на заявку, а до кінця зміни частка помилок у класифікації сягала 18%.

Метрика До Після
Час розбору заявки 14 хвилин 4 хвилини
Частка помилок у класифікації 18% 3%
Заявки, що потребують ручного розбору 100% 28%

Що зібрали

Текст, зображення й аудіо тепер потрапляють в одну точку входу, приводяться до загального вигляду й обробляються під одним ідентифікатором звернення.

Розшифрування мовлення йде через Whisper, класифікація знімка — окремою моделлю, поверх працює шар правил: він розставляє пріоритет за типом дефекту й терміновістю. Оператор отримує вже розмічену заявку й підтверджує рішення, а не збирає його з нуля.

Помилкові розбори впали з 18% до 3% — позначилося те, що модальності більше не конфліктують: голос і фото опиняються в одній картці, а не в різних системах.

Ручний розбір залишився там, де впевненість моделі нижча за поріг, — це 28% заявок, і саме на них іде вивільнений час операторів. Час первинного розбору скоротився з 14 до 4 хвилин, а пікові години більше не потребують виведення додаткової зміни.

Що робити, якщо частина даних уже розмічена вручну?

Розмічені вручну дані не викидаємо — вони стають опорним набором для нової системи. Спочатку збираємо паспорт розмітки: словник класів, правила віднесення до кожного, список спірних прикладів і домовленості щодо них.

Якщо такого документа немає, відновлюємо його за самими анотаціями й розмовами з тими, хто розмічав.

Далі перенесення. Конвертер зіставляє поля поточного сховища зі схемою нової системи, а сумісність перевіряємо на перетині — беремо приклади, розмічені двома людьми незалежно, і дивимося, чи збігається результат після перенесення.

Класи, яких немає в новій схемі, не видаляємо, а виносимо окремим шаром: частина піде в дообучення як є, частина — як підказка розмітнику.

Дообучення будуємо ітераціями: старі анотації задають стартову якість, нові порції додаємо й після кожної звіряємо метрики на відкладеній частині.

Ручна робота поступово зміщується з простих випадків на складні — частка ручної розмітки падає, а якість на базових класах не просідає.

Перехід робимо паралельним: старий і новий процес ідуть на одному потоці документів, результати порівнюються на одних і тих самих прикладах, перемикаємо частинами — спочатку один тип даних, потім решту. Відкат до попереднього процесу можливий до останнього кроку.

Міграція процесу — це регламент: хто розмічає, хто перевіряє, що вважається спірним і куди йде. Інструменти можна залишити попередні, якщо вони віддають вивантаження; для нових типів даних розгортаємо Label Studio і переносимо правила туди ж.

Часті технічні сумніви перед початком роботи

Перед стартом інженери й керівники напрямів ставлять майже один і той самий набір питань — про дані, якість розпізнавання, інтеграції та відповідальність після передачі. Нижче — відповіді в тому вигляді, в якому ми даємо їх на технічних сесіях, без обтічних формулювань.

У якому контурі працюють дані?

Система розгортається у вашому середовищі й не надсилає файли в зовнішні сервіси. Доступ розмежовується за ролями, звернення до сховища журналюються, а термін зберігання задається політикою під вимоги вашої служби безпеки.

Якої точності чекати на наших матеріалах?

Публічні метрики моделі мало говорять про ваш потік, тому якість вважаємо на пілотній вибірці з ваших текстів, зображень і записів. Фіксуємо частку операцій, що проходять без ручної правки, і окремо — критичний для вас клас помилок.

Що буде, коли модель застаріє?

Версія моделі закріплюється, якість відстежується на контрольній вибірці. Коли метрики просідають, запускаємо дообучення на накопичених прикладах: оновлення проходить ту саму перевірку, що й перший реліз, і в будь-який момент можливий відкат.

Як це вбудується в наші процеси й хто відповідає після запуску?

Точки стикування визначаємо на обстеженні: програмний інтерфейс, черги або файловий обмін — під те, що вже працює у вас. Передаємо конфігурації, схеми й регламент експлуатації, навчаємо вашу команду, даємо гарантію на виправлення дефектів і ведемо супровід із контролем метрик.

Обговоримо задачу: що уточнити на першому дзвінку

Перший дзвінок потрібен не для презентації, а щоб зібрати вхідні дані, без яких оцінка мультимодальної AI-системи перетворюється на ворожіння. За досвідом, цього набору даних достатньо, щоб повернутися з планом робіт, оцінкою строків і складом команди під конкретний контур.

  • Модальності й дані: що на вході — текст, зображення, аудіо, у якому співвідношенні, чи є розмітка і в якому обсязі.
  • Метрика якості: яка частка помилок вважається прийнятною і на якій вибірці її вважаємо.
  • Інфраструктура й доступи: хмара або закритий контур, вимоги до ізоляції даних, хто видає доступи.
  • Інтеграції: з чим зв’язуємо — сховище, черги, облікові системи, куди йде результат.
  • Навантаження: скільки запитів у піку, яка затримка відповіді критична, чи потрібна пакетна обробка.
  • Межі першої версії: що обов’язково в першому запуску, а що можна відкласти без втрати сенсу.
  • Приймання: хто з боку замовника приймає результат і за яким сценарієм перевіряємо.

Після обговорення задачі повертаємося з планом робіт за етапами, оцінкою строків із запасом на дообучення й налаштування якості, складом команди й явно описаним наступним кроком. Далі — коротка перевірка на ваших даних, щоб оцінка спиралася на заміри, а не на припущення.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142