9 прикладів RAG на основі реальних сценаріїв використання та архітектур

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

Diagram of how RAG works: a user prompt goes through a grounding check, a retrieval request to an external source, context augmentation, and LLM answer generation.

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

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

Що таке генерація, доповнена вилученням (RAG)?

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

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

Ось який вигляд має базовий процес RAG:

  1. Користувач вводить запит природною мовою.
  2. Додаток зі штучним інтелектом визначає, чи потрібне заземлення, іноді за участю LLM.
  3. Запит надсилається до зовнішнього джерела інформації, наприклад до бази даних.
  4. Вилучена інформація додається до вхідного контексту LLM.
  5. LLM генерує відповідь на основі розширеного запиту.

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

Огляд архітектури RAG

Термін "генерація, доповнена вилученням" вперше з'явився у статті 2020 року під назвою Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, опублікованій дослідниками з Meta AI (тоді — Facebook AI Research) разом із колегами з Університетського коледжу Лондона та Нью-Йоркського університету.

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

Наївний RAG

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

Розширений RAG

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

Агентський RAG

Агентський RAG — це виконання конвеєрів RAG агентом на основі LLM. Агент "вирішує", які інструменти найкраще підходять для заданого запиту, і спрямовує вилучення, іноді в циклі, для генерації релевантної відповіді.

Графовий RAG

Графовий RAG вилучає інформацію з графа знань, який представляє сутності (такі як об'єкти, концепції та події) та зв'язки між ними. Це корисно, коли відповідь на запит вимагає від LLM об'єднання інформації про окремі сутності.

Мультимодальний RAG

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

Гібридний RAG

Гібридний RAG поєднує пошук за ключовими словами (або лексичне вилучення) з векторним вилученням або графами знань і об'єднує результати. Це корисно, оскільки зіставлення за ключовими словами може бути дуже точним (більш точним, ніж інші методи) в певних контекстах.

Корекційний RAG

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

Приклади RAG за сценарієм використання та галузевим застосуванням

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

1. Вебпошук

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

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

Реальний приклад: Якщо користувач вводить простий запит у чат-інтерфейс Perplexity, наприклад: "Яка погода в Чикаго?", LLM виконає вебпошук, щоб знайти актуальну інформацію. Perplexity використовує власний веб-індекс у поєднанні з партнерськими API пошуку.

2. Підтримка клієнтів

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

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

Реальний приклад: Різноманітні платформи обслуговування клієнтів, зокрема Zendesk (зображено нижче) та Intercom, пропонують готові чат-боти підтримки клієнтів, які інтегруються з наявною документацією та базами даних підтримки клієнтів.

3. Персональні асистенти

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

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

Реальний приклад: Google Gemini є хорошим прикладом додатка, який може діяти як загальний та персональний асистент зі штучним інтелектом (як це заведено у більшості асистентів у наш час). Він інтегрується з екосистемою інструментів, таких як Gmail, Docs, Photos та Calendar.

4. Корпоративне управління знаннями

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

Як це працює: Додаток вилучає відповідний вміст за допомогою векторного індексу, який оновлюється в міру зміни вихідних документів. Індекс містить вкладення, що представляють фрагменти документів, із посиланнями на їх текст та пов'язані метадані.

Реальний приклад: Microsoft 365 Copilot отримує доступ до організаційної інформації через Microsoft Graph, який надає різні API для джерел даних, і використовує лексичні та семантичні індекси для вилучення відповідного вмісту.

5. Асистенти програмування

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

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

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

6. Технічне усунення несправностей

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

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

Реальний приклад: Платформа спостережуваності Datadog (зображена нижче) збирає дані з усіх шарів системи, сигналізуючи про будь-які проблеми в міру їх виникнення. Потім вони передаються спеціалізованому агенту штучного інтелекту під назвою Bits AI для усунення потенційних неполадок.

7. Агентська комерція

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

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

Реальний приклад: Агент загального призначення, такий як Perplexity, може вилучати кілька зображень і детальні технічні характеристики продукту на основі запиту. Функція оформлення замовлення Instant Buy дозволяє користувачеві завершити покупку після вибору товару.

8. Спеціалізовані домени знань

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

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

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

9. Аналіз даних

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

Як це працює: Для такого запитання, як "Чому впали продажі минулого кварталу?", додаток може зробити запит до обліків продажів і вилучити примітки про нестачу товарів або зміни цін. LLM вибирає відповідний розрахунок (який зазвичай делегується інструменту обчислень) для вилучених даних перед генерацією аналізу.

Реальний приклад: Google Analytics пропонує чат-бот ШІ "Ask Advisor", який може отримувати доступ до даних веб-аналітики та відповідати на високоспеціалізовані й нюансовані запитання користувачів. Це один із найкращих реальних прикладів корпоративного RAG із закритою системою.

Що далі в еволюції RAG?

RAG був значним досягненням, коли його вперше представили. Він допоміг вирішити багато проблем, притаманних автономним LLM.

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

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