Впровадження інтелекту візуальної мови в RAG із ColPali на шляху до науки про дані

Впровадження інтелекту візуальної мови в RAG із ColPali на шляху до науки про дані


Ви коли-небудь пробували створити програму RAG (Retrieval-Augmented Generation), ви, напевно, знайомі з проблемами, пов’язаними з таблицями та зображеннями. У цій статті пояснюється, як працювати з цими форматами за допомогою моделей мови бачення, зокрема моделі Колпалі.

Але по-перше, що таке RAG і чому таблиці та зображення ускладнюють його?

RAG і розбір

Уявіть, що ви зіткнулися з таким запитанням:

Яка політика нашої компанії щодо повернення коштів?

Базовий LLM (велика мовна модель), ймовірно, не зможе відповісти на це питання, оскільки така інформація є специфічною для компанії і зазвичай не включається в навчальні дані моделі.

Ось чому поширеним підходом є зв’язування LLM із базою знань, наприклад папкою SharePoint, що містить різні внутрішні документи. Це дозволяє моделі отримувати та включати релевантний контекст, дозволяючи їй відповідати на запитання, які потребують спеціальних знань. Ця техніка відома як Retrieval-Augmented Generation (RAG) і часто передбачає роботу з такими документами, як PDF.

Однак вилучення правильної інформації з великої та різноманітної бази знань вимагає ретельної попередньої обробки документів. Загальні кроки включають:

  1. розтин: аналіз документів на текст і зображення, часто за допомогою інструментів оптичного розпізнавання символів (OCR), таких як Tesseract. Таблиці часто перетворюються на текст
  2. захист конструкції: збереження структури документа, включно з витягнутим текстом, шляхом перетворення вилученого тексту у формат, який підтримує контекст, наприклад Markdown, заголовки, абзаци
  3. варення: Розділіть або об’єднайте фрагменти тексту, щоб посилання можна було вводити у вікно «Посилання», щоб фрагменти не виглядали роз’єднаними
  4. Процвітаюча: надайте додаткові метадані, наприклад витягніть ключові слова або надайте підсумок фрагментів, щоб полегшити пошук. Крім того, зображення можна також підписувати описовими текстами через мультимодальний LLM, щоб зробити зображення доступними для пошуку
  5. вбудовування: вбудовувати текст (і потенційно також зображення з мультимодальним вбудовуванням) і зберігати їх у векторній БД

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

Чому розбір так часто не вдається

Таблиці та зображення часто присутні в PDF. На зображенні нижче показано, як вони зазвичай аналізуються для споживання LLM:

Впровадження інтелекту візуальної мови в RAG із ColPali на шляху до науки про дані
Джерело: фото автора.
  • тексти фрагментовані
  • Таблиця перетворюються на тексти, все, що всередині, копіюється без збереження меж таблиці
  • Зображення Текст подається в мультимодальний LLM для генерації підсумку, або, альтернативно, вихідне зображення подається в мультимодальну модель вбудовування без необхідності генерувати текстове резюме.

Однак існує дві проблеми, властиві такому традиційному підходу.

#1. Складні таблиці не можна інтерпретувати лише як текст
На прикладі цієї таблиці ми пояснимо зміни температури як людина >2˚C до 2,5˚C’наслідки на Здоров’я Є Підвищення температури на 2,3˚C може поставити під загрозу захворювання малярією 270 мільйонів людей до 2080 року

Джерело: Вплив і вартість зміни клімату

Однак, якщо ми перетворимо цю таблицю на текст, вона виглядатиме так: Temperature change Within EC target <(2˚C) >2˚C to 2.5˚C >3C Health Globally it is estimated that A rise of 2.3oC by 2080 puts A rise of 3.3oC by 2080 an average temperature rise up to 270 million at risk from would put up to 330...

У результаті виходить неорганізований блок тексту без чіткого значення. Навіть для читача-людини неможливо отримати з нього будь-яке значуще розуміння. Коли цей тип тексту подається у велику мовну модель (LLM), він також не забезпечує точних інтерпретацій.

#2. Поділ між текстом і зображеннями
Описи зображень часто включені в тексти, і вони невіддільні один від одного. Беручи наведений нижче приклад як приклад, ми знаємо, що на діаграмі представлено «Оціночні витрати на зміну клімату з різною чистою нормою переваги часу та схемами знижувальних ставок дисконтування (без зважування власного капіталу)».

Джерело: Вплив і вартість зміни клімату

Однак, як тільки його буде проаналізовано, опис зображення (проаналізований текст) буде відокремлено від зображення (проаналізована діаграма). Тож ми можемо очікувати, що під час КНГ, коли ми запитаємо «Яка ціна зміни клімату?» Зображення не буде отримано як вхідні дані.

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

Враховуючи, наскільки важливий синтаксичний аналіз у програмах RAG, чи означає це, що агенти RAG зазнають збою під час роботи зі складними документами? Абсолютно ні. З Kolpali ми маємо більш складний і ефективний підхід до їх вирішення.

Що таке Колпалі?

Основна передумова Kolpali проста: люди читають PDF-файли як сторінки, а не «фрагменти», тому має сенс розглядати PDF-файли таким чином: замість того, щоб проходити безладний процес синтаксичного аналізу, ми просто перетворюємо PDF-сторінки на зображення та використовуємо це як посилання для LLM для отримання відповідей.

Зараз ідея вбудовування зображень за допомогою мультимодальних моделей не нова – це поширена техніка. Отже, що відрізняє Колпалі? Ключ полягає в тому, що її надихнув Colbert, модель, яка вбудовує вхідні дані в багатовекторність, що забезпечує більш точний і ефективний пошук.

Перш ніж зануритися глибше в можливості Colbert, я хочу коротко пояснити, що таке Colbert.

Колберт: детальне вставлення тексту з урахуванням контексту

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

Давайте розглянемо цей випадок: у нас є таке питання: is Paul vegan?Нам потрібно визначити, які фрагменти тексту містять відповідну інформацію.

Жовтим кольором виділені тексти, які містять інформацію про Павла

В ідеалі ми повинні ідентифікувати Text Chunk A Як найактуальніший. Але якщо ми використовуємо одновекторну модель вбудовування (text-ada-002), вона повернеться Text Chunk B замість цього.

Це пов’язано з тим, як працюють одновекторні двокодери, такі як Text-ADA-002. Вони намагаються стиснути все речення в єдиний вектор, не кодуючи окремі слова з урахуванням контексту. На противагу цьому Кольбер Охоплює кожне слово з урахуванням контекстущо призводить до багатого, багатовекторний Представлення, яке фіксує більш дрібну інформацію.

Цифри у векторах є ілюстративними та не відображають фактичних значень.

Colpaly: брат Кольбера за обробку документів, схожих на зображення

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

Крім високої точності пошуку, переваги Kolpali включають:

  1. пояснюваність: ColPali дозволяє порівнювати на рівні слів між запитом та окремими фрагментами зображення документа. Це дозволяє нам чітко зрозуміти та обґрунтувати, чому певний документ вважається більш актуальним.
  2. Менше зусиль на розвиток і більше сили: усуваючи потребу в складних конвеєрах попередньої обробки, таких як фрагментація, розпізнавання символів і аналіз макета, Colpoly значно скорочує час розробки та зменшує потенційні точки відмови.
  3. підвищення продуктивності: Процеси вбудовування та пошуку відбуваються швидше, що призводить до покращення загальної чутливості системи.

Тепер ви знаєте, що таке Colepali, давайте заглибимося в код і перевіримо, чи зможе Colepali вирішити виклики, про які ми згадували раніше!

ілюстрація

Мій код можна знайти на моєму Github. Кілька слів про це:

  • приклад: для роботи коду потрібна машина з графічним процесором A100
  • модель вбудовування:Я використовую багато типів колпалі vidore/colqwen2-v0.1 до виконання. Ви можете переглянути таблицю лідерів і перейти до інших моделей тут
  • Представник:
    – LLM
    : Я використовую OpenRouter для використання LLM, і агент працює на основі GPT-4oВи можете замінити його будь-яким мультимодальним LLM, який може приймати зображення як вхідні дані
    , інструментальний простір, LangGraph Агент використовувався для розробки
  • Бібліотека, яка використовується для перетворення PDF у зображення, pdf2image який є обгорткою для popplerтож переконайтеся, що у вас також є poppler встановлено
  • зразкові дані: «Вплив і вартість зміни клімату» Пола Воткісса та ін., доступний для всіх тут

Результат

Код досить простий, тому замість цього я зроблю висновок: наскільки добре Kolpali може впоратися з проблемами, які ми обговорювали в «Чому синтаксичний аналіз так часто зазнає збою?» Я бачив. розділ?

#1. Складні таблиці не можна інтерпретувати лише як текст

Питання: Якими будуть наслідки для здоров’я, якщо температура підніметься на 3 градуси вище доіндустріального рівня?

Відповідь: Якщо температура підвищиться на 3 градуси за Цельсієм у порівнянні з доіндустріальним рівнем, вплив на здоров’я буде значним. Specifically, it is estimated that by the 2080s, up to 330 million people would be at risk from malariaЦе суттєве збільшення порівняно з 1920-ми роками, коли число ризику становило від 50 до 100 мільйонів.

Це правильні посилання з цієї таблиці в PDF!

Джерело: Сторінка 3 про наслідки та витрати зміни клімату

#2. Поділ між текстом і зображеннями

Питання: Яка оціночна вартість зміни клімату, згідно з моделлю падіння Greenbook?

Відповідь: Відповідно до моделі деградації Greenbook, оціночна вартість зміни клімату становить 7,2 євро/т CO2

Правильною відповіддю має бути 7,4 євро/тCO2, але ми бачимо, що це близько до правильного!

Джерело: Сторінка 46 наслідків і вартості зміни клімату

висновок

Традиційні конвеєри RAG борються з нетекстовим вмістом. Kolpali розглядає кожну сторінку PDF як зображення, що дозволяє обробляти візуальні макети, таблиці, діаграми та вбудовану графіку – формати, які стандартні аналізатори тексту часто спотворюють або ігнорують.

Kolpali привносить візуальний мовний інтелект у RAG, що робить його набагато більш здатним працювати з безладною багатомодальною реальністю корпоративних документів.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *