Лідери думок

Еволюція RAG – Підручник з Agentic RAG

mm
Додайте Unite.AI до бажаних джерел у Google

Що таке RAG (Retrieval-Augmented Generation)?

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

Сучасний ландшафт RAG

Великі мовні моделі революціонізували спосіб, яким ми отримуємо доступ до інформації та обробляємо її. Однак залежність лише від внутрішніх попередньо введених знань може обмежити гнучкість їхніх відповідей, особливо для складних питань. Retrieval-Augmented Generation вирішує цю проблему, дозволяючи LLM отримувати та аналізувати дані з інших доступних джерел для генерації більш точних та осмислених відповідей.

Недавні розробки в галузі пошуку інформації та обробки природної мови, особливо LLM і RAG, відкривають нові горизонти ефективності та складності. Ці розробки можна оцінити на основі наступних широких контурів:

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

Виклики традиційних архітектур RAG

Хоча RAG еволюціонує, щоб задовольнити різні потреби, все ще існують виклики, які стоять перед традиційними архітектурами RAG:

  • Резюмування: резюмування великих документів може бути складним. Якщо документ довгий, традиційна структура RAG може пропустити важливу інформацію, оскільки вона отримує лише верхні K елементів.
  • Порівняння документів: ефективне порівняння документів все ще є викликом. Фреймворк RAG часто призводить до неповного порівняння, оскільки він вибирає верхні K випадкових фрагментів з кожного документа випадково.
  • Аналіз структурованих даних: складно обробляти структуровані числові дані запиту, такі як визначення, коли працівник візьме наступний відпустку, залежно від місця його проживання. Точне отримання даних та аналіз не є точними з цими моделями.
  • Обробка запитів з кількома частинами: відповідь на питання з кількома частинами все ще обмежена. Наприклад, пошук загальних моделей відпусток по всіх областям великої організації є складним завданням, обмеженим K елементами, що обмежує повне дослідження.

Перехід до Agentic RAG

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

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

Три основні агентські стратегії

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

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

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

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

Агентські шари для RAG-пайплайнів

  • Рутинг: питання маршрутизується до відповідної бази знань на основі актуальності. Наприклад, коли користувач хоче отримати рекомендації щодо певних категорій книг, запит може бути маршрутизований до бази знань, яка містить інформацію про ці категорії книг.
  • Планування запиту: це включає розбиття запиту на підзапити та відправку їх до відповідних окремих пайплайнів. Агент генерує підзапити для всіх елементів, таких як рік у цьому випадку, та відправляє їх до відповідних баз знань.
  • Використання інструментів: мовна модель спілкується з API або зовнішнім інструментом, знаючи, що це означає, на якій платформі має відбуватися спілкування, та коли це необхідно зробити. Наприклад, якщо користувач запитує прогноз погоди на певний день, LLM спілкується з погодним API, визначаючи місце та дату, а потім розбирає відповідь, отриману від API, щоб надати правильну інформацію.
  • ReAct – це ітеративний процес мислення та дії, поєднаний з плануванням, використанням інструментів та спостереженням.
    Наприклад, для розробки комплексного плану відпустки система буде враховувати вимоги користувача та отримувати деталі про маршрут, туристичні принади, ресторани та проживання, викликаючи API. Потім система перевірить результати щодо правильності та актуальності, генеруючи детальний план подорожі, відповідний запиту користувача та його розкладу.
  • Планування динамічного запиту: замість послідовної реалізації агент виконує кілька дій або підзапитів паралельно, а потім агрегує ці результати.
    Наприклад, якщо потрібно порівняти фінансові результати двох компаній та визначити різницю в деякому показнику, то агент обробить дані для обох компаній паралельно, а потім агрегує результати; LLMCompiler – це такий самий фреймворк, який забезпечує ефективну оркестрацію паралельних викликів функцій.

Agentic RAG та LLMaIndex

LLMaIndex представляє дуже ефективну реалізацію RAG-пайплайнів. Ця бібліотека просто заповнює відсутній шматок у інтеграції структурованих організаційних даних у генеративні моделі штучного інтелекту, забезпечуючи зручність інструментів для обробки та отримання даних, а також інтерфейси до різних джерел даних. Основні компоненти LlamaIndex описані нижче.

LlamaParse розбирає документи.

Llama Cloud – це підприємницька служба з розгорнутими RAG-пайплайнами з мінімальною кількістю ручної праці.

Використовуючи кілька LLM та векторне сховище, LlamaIndex забезпечує інтегрований спосіб побудови застосунків на Python та TypeScript з RAG. Його характеристики роблять його дуже затребуваним елементом для компаній, які хочуть використати штучний інтелект для поліпшення даних для прийняття рішень.

Ключові компоненти реалізації Agentic RAG з LLMaIndex

Давайте розглянемо деякі інгредієнти агентських RAG та їх реалізацію в LlamaIndex.

1. Використання інструментів та маршрутизація

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

2. Довготривале збереження контексту

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

LlamaIndex також включає чат-рушій, який має пам’ять для контекстних розмов та одноразових запитів. Для уникнення переповнення вікна контексту LLM така пам’ять повинна бути під суворим контролем під час тривалих розмов та скорочена до підсумованої форми.

3. Двигуни підзапитів для планування

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

4. Рефлексія та виправлення помилок

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

5. Складне агентське міркування:

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

LlamaCloud та LlamaParse

З своєю розширеною колекцією керованих служб, призначених для підприємницької контекстної аугментації у застосунках LLM та RAG, LlamaCloud – це великий крок у середовищі LlamaIndex. Це рішення дозволяє інженерам штучного інтелекту зосередитися на розробці основної бізнес-логіки, скорочуючи складний процес обробки даних.

Інший рушій розбору, доступний у LlamaIndex, – це LlamaParse, який зручним чином інтегрується з пайплайнами інгестії та отримання у LlamaIndex. Це становить одну з найбільш важливих складових, яка обробляє складні, напівструктуровані документи з вкладеними об’єктами, такими як таблиці та ілюстрації. Інший важливий будівельний блок – це керований API інгестії та отримання, який забезпечує кілька способів легко завантажувати, обробляти та зберігати дані з великої кількості джерел, таких як центральний репозиторій даних LlamaHub або вивід LlamaParse. Крім того, він підтримує різні інтеграції зберігання даних.

Висновок

Agentic RAG представляє зміну у обробці інформації шляхом введення більшої інтелектуальності в самих агентів. У багатьох ситуаціях агентські RAG можна поєднувати з процесами або різними API для отримання більш точної та розвиненої відповіді. Наприклад, у випадку резюмування документів агентські RAG оцінять мету користувача перед створенням резюме або порівнянням деталей. При наданні підтримки клієнтів агентські RAG можуть точно та індивідуально відповідати на все більш складні запити клієнтів, не тільки на основі їхньої навчальної моделі, але й наявної пам’яті та зовнішніх джерел. Agentic RAG підкреслює зміну від генеративних моделей до більш точних систем, які використовують інші типи джерел для досягнення надійної та точної відповіді. Однак, будучи генеративними та інтелектуальними, якими вони є зараз, ці моделі та агентські RAG знаходяться у пошуках вищої ефективності, оскільки все більше даних додається до пайплайнів.

Чайтанья Патак - досвідчений керівник технологій, який спеціалізується на створенні продукції з Генеративного ІІ. З більш ніж десятирічним досвідом у сфері корпоративного програмного забезпечення та управління продуктами, він зараз обіймає посаду Головного офіцера з продукту та технологій у LEAPS by Analyttica. Чайтанья розробив комплексну структуру, яка зараз патентується, що перетворює технології ІІ у масштабовані, готові до ринку продукти у декількох галузях, надають можливість лідерам продукту та технологій забезпечувати суттєвий вплив.