RAG порівняно з LLM: технічний розбір (визначення, відмінності, варіанти використання)

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

Diagram comparing an LLM-only flow (input, LLM, output) with a RAG flow, where the input is exchanged with an external data source before reaching the LLM.

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

Насправді ваш вибір — не між RAG або LLM. Він — між гібридним підходом і підходом, що використовує лише LLM.

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

RAG порівняно з LLM: які ключові відмінності?

  • RAG і LLM є взаємодоповнювальними системами. Ви можете використовувати модель ШІ без RAG (коли вона покладається виключно на свої наявні параметри), але не можете використовувати систему RAG без моделі.
  • RAG було запроваджено, щоб подолати три ключові проблеми LLM: застарілі відомості, галюциновані відповіді та відсутність перевірки за сторонніми джерелами.
  • RAG робить ШІ набагато ефективнішим у реальних бізнес-ситуаціях, оскільки поєднує LLM із перевіреною внутрішньою документацією, базами даних і кінцевими точками API.
  • До основних варіантів використання RAG належать чат-боти підтримки клієнтів, запити на основі даних, що швидко змінюються (наприклад, галузевих новин), а також спеціалізовані сфери, як-от медицина й право, де важливі точність і перевірка джерел.
  • Існує три основні типи RAG: наївний RAG, модульний RAG і просунутий RAG. Наївний RAG найкраще розуміти як прямолінійне отримання інформації, тоді як модульний і просунутий RAG додають додаткову функціональність, таку як переписування запиту та оптимізація фрагментів.

Що таке велика мовна модель (LLM)?

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

Щоб краще зрозуміти, як працює RAG (і чим він відрізняється від) LLM, корисно подивитися на те, як генеративний ШІ працює на базовому рівні:

  1. Токенізація: Запит користувача розбивається на токени, якими можуть бути слова, частини слів або окремі символи.
  2. Вбудовування: Токени перетворюються на вбудовування — числові представлення (рядки чисел), які називаються векторами і які може обробляти нейромережа, що включає декодер.
  3. Декодування: Шари декодера (які становлять велику частину нейромережі LLM) маніпулюють цими векторами, використовуючи процес, що називається attention , щоб передати зміст. Цей процес визначає, наскільки сильно кожен токен має бути пов’язаний з іншими токенами в послідовності.
  4. Оцінювання: Модель присвоює кожному токену у своєму наявному словнику ймовірність сумісності та обирає ймовірний наступний токен у послідовності.

Важливо розуміти, що LLM може створювати вихідні дані лише на основі своїх наявних параметрів і токенів у вікні контексту. Під час навчання LLM мільярди разів отримує завдання завершити частини неповного тексту, і його параметри коригуються доти, доки він надійно не призначатиме токенам ймовірності (а отже, не завершуватиме текст).

Уявіть, наприклад, що ви ставите моделі ШІ запитання: «Що сказано в нашій політиці повернення коштів 2026 року?» LLM може лише передбачати наступні токени на основі своїх наявних параметрів, які не були донавчені на вашій документації підтримки. Якщо поставити їй це запитання без будь-якого додаткового контексту, вона просто не зможе відповісти змістовно або згенерує неправильну відповідь-галюцинацію.

Що таке генерація з доповненням пошуком (RAG)?

RAG (генерація з доповненням пошуком) — це процес, за допомогою якого інформацію із зовнішніх систем включають у запит до LLM.

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

Ось огляд того, як працює RAG:

  1. Підготовка знань: Підготовлюють джерело знань. Це може бути набір документів, векторна база даних, граф знань або живий індекс (наприклад, для AI search).
  2. Формування запиту: Користувач вводить запит, наприклад: «Чи варто мені сьогодні піти на прогулянку в Лондоні?»
  3. Пошук: Зовнішнє джерело інформації запитується за допомогою засобу пошуку AI. Він може вбудувати запит, перетворивши його на вектор, а потім виконати запит до векторної бази даних. Або ж він може використовувати інший метод, наприклад API-запит, зіставлення ключових слів або обходження графа знань.
  4. Вставка: Цю інформацію додають до початкового запиту користувача. У прикладі з питанням про прогулянку в Лондоні це може включати погодну інформацію в Лондоні та поточну доступність популярних маршрутів для прогулянок.
  5. Генерація відповіді: LLM генерує відповідь звичайним способом, використовуючи розширений запит.

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

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

RAG порівняно з LLM: огляд варіантів використання

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

Варіанти використання RAG

  • Запити до інформації, що швидко змінюється: Будь-які запити щодо інформації, яка швидко застаріває, — це може бути щось таке просте, як прогноз погоди, або таке складне, як докладний аналіз новини, що лише формується, — мають ґрунтуватися на перевірених сторонніх джерелах.
  • Документація компанії: Внутрішні або орієнтовані на клієнтів чат-боти ШІ, в яких користувачі ставлять запитання, пов’язані з документацією компанії чи продукту, мають бути з підтримкою RAG, особливо якщо документацію часто оновлюють.
  • Підтримка клієнтів: Чат-боти для клієнтів потребують доступу до актуальної й докладної документації підтримки, щоб надавати точні відповіді.
  • Спеціалізовані сфери (медицина, право, фінанси тощо): LLM, які не навчалися на галузевих корпусах (особливо загальновживані моделі), зазвичай мають труднощі з нюансами спеціалізованих запитів.

Варіанти використання LLM

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

RAG порівняно з LLM із довгим контекстом, агентним ШІ та підкріпленням

Існує три пов’язані концепції, важливі для розрізнення між RAG і LLM. Це LLM із довгим контекстом, агентний ШІ та підкріплення.

LLM із довгим контекстом іноді можна використовувати замість систем із підтримкою RAG, тоді як агентний ШІ та підкріплення є синонімами або працюють разом із ними.

LLM із довгим контекстом

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

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

Агентний ШІ

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

Підкріплення

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

RAG порівняно з LLM: реальні приклади

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

RAG порівняно з LLM із простим запитом

Ось вивід (обмежений двома реченнями), коли Perplexity запитують: «Чи варто мені сьогодні піти на прогулянку в Лондоні?» із вимкненим AI web search (формою RAG):

Так — якщо погода досить суха і у вас є час, прогулянка в Лондоні сьогодні може стати освіжаючою зміною обстановки. Оберіть маршрут уздовж Саут-Банку, Ріджентс-каналу або через Гайд-парк і прихопіть легкий водонепроникний одяг на випадок потреби.

Порівняйте це з запитом, коли LLM може перевіряти зовнішні джерела:

Так, це хороший день для прогулянки в Лондоні: прогноз обіцяє м’яку температуру близько 19–21 °C, сонячні проміжки й лише дуже низьку ймовірність дощу. За мінливо хмарного неба та легкого вітру умови комфортні для прогулянок парками або маршрутами вздовж річки, такими як Саут-Банк.

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

RAG порівняно з LLM і корпоративною векторною базою даних

Уявіть, що користувач ставить чат-боту в застосунку для банківського сервісу таке запитання: «Де я можу завантажити мій останній виписку?»

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

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

Модель вбудовування отримала б такий запит:

json
{ "input": "Where can I download my most recent statement?" }

Модель вбудовування повертає таке векторне вбудовування:

json
{ "embedding": [0.12, -0.44, 0.87, 0.31] }

Потім векторна база даних отримує такий запит:

json
{ "vector": [0.12, -0.44, 0.87, 0.31], "top_k": 5 }

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

Коли обирати RAG, а коли LLM, і коли їх поєднувати

LLM і RAG є взаємодоповнювальними системами. Тому запитання «Коли слід обирати LLM, а коли RAG?» поставлене не зовсім коректно. Натомість слід запитати: «Коли LLM буде достатньо, а коли RAG є оптимальним?»

Коли використовувати LLM без увімкненого RAG

  • Ваша обрана модель ШІ має велике вікно контексту: Якщо простіше включити всю інформацію або дані, необхідні для точної відповіді, у ваш запит, наприклад завантаживши документ, це може зменшити затримку та запобігти проблемам, пов’язаним із пошуком.
  • Робочі процеси міркування та аналізу даних: Робочі процеси аналізу та міркування, які спираються лише на дані, надані в запиті, не потребують можливостей RAG.
  • Генерація коду: Зазвичай RAG не потрібен для загальних завдань з програмування, хоча його часто використовують для завдань, специфічних для проєкту, таких як пошук попередніх виправлень або API та документації постачальників.

Коли використовувати LLM з увімкненим RAG

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

RAG і LLM — це взаємодоповнювальні технології, що розвиваються

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

RAG — це не статична технологія. Очікується, що вона вдосконалюватиметься в різних напрямах, зокрема в reranking, затримці під час пошуку та використанні токенів, засобах безпеки проти небезпечних джерел даних, інтеграції отриманих даних із кількох джерел і не тільки. У міру того як LLM і агентний ШІ продовжують розвиватися, розвиватимуться й системи RAG, які їх підтримують.