РАГ — што гэта: можлівасць для ШІ-модэляў адкрыць доступ да зовнішняй інформацыі
Практычныя нарады для пачатківцоў пра тэхналогію RAG — чанкаванне, імбеддынг, вектарны пошук, гібрыдны спосаб выкарыстоўвання дадзеных, а таксама калі RAG все ж створяе халюцынаціі — з чыстымі схемамі архітектуры.
Больші мовныя моделі адпавядаюць, выкарыстоўваючы памэц трэнавання. Гэтая памэц ўплоўнае, але непূরнай: ёй можа не хапіць внутршняя інструкцыя, застарэлыя правіла та факты, якія ніколі не з’являліся ў публічных текстах. Тэхнологія Retrieval-Augmented Generation (RAG) запоўняе гэты прыём, спачатку запрашаючы вялікі мовны модель знайсці стосунаваны зовнішні матэрыял, а пасля просіць яе адпаведзець на запыт на адной з гэтых падстав.
Што такое RAG?
Без процеса пошуку запыт праходзіць безпосередна да моделі:
User Question
↓
LLM
↓
Answer
За дапамогою RAG система знаходзіць стосунаваную інфармацыю перш чым працаваць з моделлю:
User Question
↓
Find Relevant Information
↓
Give Information to the LLM
↓
LLM
↓
Answer
Модель як і раней пішчыць фінальны тэкст; новы элемент — это контекст з базы знанняў.
Чаму нам патрэбна RAG?
Ліміты навчання, прыватныя корпусы дадзеных і стрэмкія змена правіл усе гэта паслабляе можнасць адпаведзяў, якія базуюцца толькі на “памяці”. Інструкцыі для працавальнікаў, апошні раз адчыненыя нацэлі зьвечора, не будуць частынай ваг модэлі. RAG дазволяе асистэнту запытваць гэтыя інструкцыі пад час адпаведзення без паўторнага навчання.
Просты прыклад RAG
Працавальнік запытаеся пра перенос канікулаў. Працэс выглядае так:
Employee asks a question
↓
Search the employee handbook
↓
Find the relevant section
↓
Give that section to the LLM
↓
LLM generates the answer
Асистэнт должен цітацыяваць інструкцыі, а не выдумваць правіла, якія “звучаюць правільна”.
Як працуе RAG?
Важлівыя два этапы: падготовка ведамасцей афлайн, а потым адпаведзення онлайн.
1. Падготовка ведамасцей
Зьяўляюцца файлы, яны дзелююцца, ствараюцься фрагменты, а векторы зберагаюцца для пошуку.
2. Адпаведзенне на запыт
Фрагмент запытання увязваецца, выбіраюцься найболей значымыя фрагменты, яны складаюцца ў запрошэнне для асистэнта, пасля чаго генеруецца адпаведзенне.
Частка 1: Падготовка ведамасцей
Тыпавыя джерэлы інформацыі для асистэнта па кадрам:
Employee Handbook
Vacation Policy
Benefits Guide
Leave Policy
Процес падчыркі:
Documents
↓
Extract Text
↓
Break into Smaller Pieces
↓
Create Embeddings
↓
Store for Search
Шаг 1: Адзысканне інфармацыі
Выделяйце чысты текст з кожнага джерела:
Employee Handbook
↓
Extract text
↓
"Employees receive..."
"Vacation requests..."
"Leave policy..."
Загаловкі, падзагаловкі і элементы навігацыі трэба адчыняць якомога раней, каб яны ніколі не сталі „фактамі“.
Шаг 2: Разбіўка дакумента на часткі
Дужыя інструкцыі перакрывають меры контексту і заслоняюць значныя абзацы. Разбіўка на часткі стварае елементы, якія можна шукати:
Employee Handbook
↓
┌───────────────┐
│ Chunk 1 │
├───────────────┤
│ Chunk 2 │
├───────────────┤
│ Chunk 3 │
├───────────────┤
│ ... │
└───────────────┘
Чаму важліва разбіўка на часткі?
Часткі, якія занадта великі, зменшуюць значыцьбу інфармацыі; часткі, якія занадта маленькі, втрачаюць суседніе правілы (як-напрыклад, заперчання і асаблівасці). Аверзанне меж частакі захоўвае контекст. Пачніце з простага — фіксаванага размеру з аверзаннем — пасля чого налаштавайце параметры, калі адзысканне інфармацыі будзе некоректным.
Шаг 3: Стварэнне эмбеддынгаў
Эмбеддынгі ператвараюць текст у векторы, так што фразы з схожым значэнням будуць розташаваны поблізу адзінай другой, нават без спяльных ключоўых слоў.
Тэкст запытання:
"What is my vacation allowance?"
Парапрафраз з тым самым намерэнням:
"How many annual leave days do I get?"
Оба можу падаць поблізу таго ж чакка з правіламі выпачэння паспарту пасля імбедавання:
"What is my vacation allowance?"
↓
Embedding
↓
Numerical representation
Для індэксавання і запыткаў трэба выкорыстоваць той самы інструмент для імбедавання; сумешчанне модэляў таямніча нарабляе проблемы ў пошуку найбліжэйшых адпаведнасцей.
Шаг 4: Зберагчыць інфармацыю для пошуку
Кожны чакк плюс яго вектар кідаецца ў векторны індэкс (альбо гібрыдны сховыш):
Document Chunk
↓
Embedding
↓
Vector Database
Метаданы — назва вучоркі, старонка, рэгламент доступу, дата набыця чыннасці — должны супроводжваць чакк для пазнейшых фільтраў і цытатаў.
Частка 2: Адпаведзь на запытанне пользователя
Онлайн-шлях:
User Question
↓
Understand the question
↓
Search the stored information
↓
Find relevant chunks
↓
Give those chunks to the LLM
↓
Generate an answer
Шаг 5: Атрымоўваць рэлевантную інфармацыю
Імбедаванне запытання атрымоўвае найболей рэлевантныя чаккі, напрыклад:
Chunk 147 → Vacation carryover policy
Chunk 148 → Vacation request process
Chunk 62 → Employee benefits
Chunk 300 → Security policy
Якасць рангавання тут важыць больш за якасць заканчальнай адпаведзі. Некаліткую атрымоўку інфармацыі нельга паспрабаваць выправіць за дапамогою кращага запытання.
Шаг 6: Перадаць інфармацыю LLM
Зявлены текст стае контекстам прампта:
Context:Employees may carry over up to 5 unused
vacation days into the following year.
Question:How many vacation days can I carry over?
Інструкцыі должны вымагаць адпаведзення на пытанні на адвароте контексту і выяўлення прасоў, калі контэкст не ёсць.
Шаг 7: Стварэнне адпаведзення
Retrieved Information
+
User Question
↓
LLM
↓
Answer
Модель складае адпаведзенне, базуючыся на зявленых рэкламах, а не на загальных стандартах HR.
Полная архітектура RAG
Атрыбут падготовкі без супакоўкі з інтэрнетам:
KNOWLEDGE PREPARATION
Дыяграма «з канца ў канец»:
Documents
↓
Extract Text
↓
Chunking
↓
Embeddings
↓
Vector Database
│
│
│
▼
USER QUESTION
↓
Query Embedding
↓
Retrieval
↓
Relevant Information
↓
Question + Context
↓
LLM
↓
Answer
До поставлення пытанні
Documents
↓
Chunks
↓
Embeddings
↓
Vector Database
Кал прыходзіць пытанне
Question
↓
Retrieval
↓
Relevant Context
↓
LLM
↓
Answer
Ci RAG выкарыстоўвае толькі вектарны пошук?
Нята. У прымэтных системах часта сумашчваюць разныя методы.
Пошук за ключавымі словамі
Лексычныя супарабатнікі (BM25 і іншыя) адлучнае працуюць з точнымі токенамі: кодамі правіл, SKU, ідэнтыфікаторамі аберанняў, власнымі іменамі.
Семантычны пошук
Пошук на вектарах выявляе парафразы і сінонімы, якія заступаюцься ключавымі словамі.
Гібрыдны пошук
Спалучыце абодва падходы, а потым з’едыніце рангівання:
Keyword Search
+
Semantic Search
↓
Hybrid Search
Гібрыдны падход яўляецца адмоўнай выборам, калі трафік сумешаны з точнымі ідэнтыфікаторамі та запитамі на натуральны мове.
RAG не пазбавляе ад галюцинацый
Процес выкарыстоўвання дадзеных зменшае неконтрольваныя вымыслы; ён іх не усувае. Спосабы абякання включаюць:
З’яўілася некоректная частка дадзеных:
User Question
↓
Wrong information retrieved
↓
LLM
↓
Wrong answer
Не было знайдзена нічога рэлевантнага, пры тым модель все раве дае адпаведзь:
User Question
↓
No relevant information found
↓
LLM
↓
Unsupported answer
Меры абмякчэння: болей строгі процес выкарыстоўвання дадзеных, параднае рангівання, інструкцыі пра адмову, цітаты та ацэнка ўважнасці — не толькі плавнасці.
RAG проты налаштавання
RAG
Найкращы варыянт, калі знанні часта змінююцца, павінны быць цітаваныя або застаюцца прыватнымі пахарактэру за межамі дадзеных для навчання. Апдэйты значаць переіндексаванне, а не паўторнае навчанне.
Налаштавання
Ўжытна тадзей, калі трэба змяніць поведзенне, стыль або формат задання, або калі знанні ўстойкія і дастаткова стыслае, каб іх застаўіць у програме. Адновленне такіх систем ёсць дорогім, калі правілы часта зменшваюцца.
Багатыя продукты выкарыстоўваюць аба падходы: настройкі для навыкаў і RAG для фактов.
Дзе ўжытна RAG?
Апаратная падтрымка
Асистэнты, якія базуюцца на дакументах продукту і шаблонах заявок.
Охорона здароў'я
Пошук протакалаў і рэкамендацый з строгімі правіламі цитавання і кантролю доступу (працуюць правілы домэна).
Фінансы
Адказы на пытанні пра правілы, адкрасленні і правілы продукту, якія должны адражаць найновейшы затверджаны текст.
Кадры
Інструкцыі, паўстановкі, правілы выпачатку — гэта той самы патерн запытанняў ад працавнікаў, як і вышэй.
Разработка програмнага забавляння
Внутрашнія ADR-ы, інструкцыі з эксплуатацыі і джэрела API пад час публічных дакументаў.
Калі трэба выкарыстоўваць RAG?
Існуючы RAG, калі адказы павинны адбівацца на адзін конкрэтны корпус, які большы за запит, змінюецца быстрей, чым циклы налашчвання, або калі патрэбна інформацыя пра магчымасці ўзятка даных. Не вжывайте RAG для простых фактов, якія вже знае базовы модель, для чыстай творчасці, або для сцэнарыёў з надзяйма низкім часам адпаведзення, дэтыя не можаць сабліжыцца на адзин крок узятка даных.
Што можа ускладніць вжытак RAG?
Межы частак даных, зміны эмбеддынгаў, застарэлыя індэксы, прасачанні кантролю доступу і разліки ў ацэнкаванні. Конкрэтны прыклад неправильнага функціонавання:
Пользователь запытаеся:
User asks:
"What is the vacation carryover policy?"
Сістэма выкарыстоўвае неправильную групу правіл:
↓System retrieves:
"Health insurance policy" ↓LLM receives wrong context ↓Poor answer
Модель пасля чаго выглядае впэўненаю, адказваючы на пытання пра медычную страховку, як будзь-што це была страховка для вакацый. Перш чым крытыкаваць генератор, паспрабуйце выправіць процес узятка даных і фільтры метаданных.
Што трэба выучыць, каб створыць RAG?
Практычныя етапы навучэння:
RAG Fundamentals
↓
Document Processing
↓
Chunking
↓
Embeddings
↓
Vector Databases
↓
Retrieval
↓
Prompt + Context
↓
LLM
↓
Evaluation
Адрасаванне дакументаў, стратэгія ўдзелення на часткі, імбеддынгі, сховішчы вектараў, складанне запросаў, ацэнка і операцыі (перзбудова, доступ, манітараванне) — усё гэта мае значэння.
Загальная кантэкст
Knowledge
↓
Find relevant
information
↓
Give it to LLM
↓
Generate
answer
Знанні знаходзяцца за межамі модэлю; процес запошчання ўз’еднавае гэтыя межы; стварэнне рэзультатаў застаецца заканчальным крокам.
Выбар спосабу чанкавання вплывае на размернасць умяшчэння і тип індекса: канфігурацыі HNSW, які выкарыстоўваюць толькі ўжаты формат, паводзяцца інакш за гібрыдныя сховышчы BM25+вектараў, калі запиты містяць як прозу, так і ідэнтыфікаторы. Неабходна матыць писаную політыку ўсунення дадзэнняў — для новых версій інструкцый, выдаленых сторанак, змян у правах — і пераканацца, што выдаленыя матэрыялы дзейсна зникаюць з індекса, а не застаюцца як «блакітныя» вектары. Форматаванне цітацый таксама ўключаецца ў умовы генеравання: якщо інтерфейс обяцвае інформацыю пра паводзжанне дадзэнняў на рывень сторанак, то прампт і пост-прасэсары должны выдаваць стабільныя ідэнтыфікаторы вучорка, а не декоратывныя прыміткі, якія нікуды не вядуць.
Переранкінг заслуговае на короткая упаміна нават у курсе для пачаткунакоў. Складанне спіса з дапамогай бі-енкодера є недорогім; праця крос-енкодера над п’ятдзiesцюм кандыдатамі частаўна вирашвае проблэмы „маё ж такі дакумент, але не той раздзял“, якія робяць дэманы некоректнымі. Яго можна спалучыць з простымі правіламі адхоўкі, калі рэйтынг сяродзіцтва падае нижэй за заданы порог. Команды, якія прахоўваюць евалюэйшчыну, зазвычай адкрываюць гэтыя проблэмы перед заінтересаванымі сторонамі, а не ў зошыце.
На заканчэнне, памяркавайце эканамічную структуру RAG: кост індэксавання плаціцца непаўзліва, калі корпусы растуць, тады як кост файн-тюнінгу плаціцца паказовымі часткамі. Для домэнаў, дзе важліва політыка, непаўзлівы рachунак за індэкс зазвычай ў дзесяткі разоў дешавей, чым ўсё тыя ж файн-тюнінгі ў тыдзень — і гэта дазволяе цитаваць самэ той пасунк, пра які запытаў аудытар. Гэтая можлівасць аудытавання часта ёсць рэальным трэбаваннем да продукту, якое ховаецца за фразай „створыць чатбота“.
Калі вы включаеце RAG у існуючы стак супорту, пачніце з адного корпуса та адной групы запитоў, узамест таго каб прабаваць пераделаць усё. Змяркуйце ступень віклонення, эскаляцыю та скаргі на некоректныя адпаведзі на гэтым фрагменте, прычаму не дагружаючы всі прасторы Confluence адразу. Конкрэтныя успехі пакажуць, якія розмеры частак та гібрыдныя вагі ўзимаюць дапамогу; шырокія запускі пераважна паказваюць, што панелі керування без метрык адпаведнасці маскуюць регрэсіі. У першыя тыдні трывогайце чергу для людзкага перагляду спорных адпаведзей, каб рэдакторы моглі пазначыць «хораша выкарыстоўванне дадзеных / паслаблая гэнерацыя» проты «паслаблае выкарыстоўванне дадзеных», адносна якіх існуюць разныя способы выправлення. З часам гэтыя пазначкі стаюць сигналамі для алгорытмав пераранжавання та дапамагаюць выявіць, чы не трэба тэму выйсці з RAG і стаць частынай дэтерміністычнага процесу работы.
Заключны вывад
Store external knowledge
↓
Find relevant information
↓
Give that information to an LLM
↓
Generate a grounded response
Зберагаеце звязаныя з усём светам веды, шукаеце неабяжлівыя часткі для кожнага запиту, і толькі пасля гэтаго ствараеце адпаведны рэзультат. Гэты трывыякі цикл — это RAG: простае ў практычнасці, але вымагае точнай працы, і ўсё ж застаецца найболей практычным спосабам прытрымліваць асистэнтыў да правды ў паўтараючыхся і змінных фактах.
Адміністратыўная дысцыпліна разлічвае простыя дамавыкі ад надзейных асистэнтов: заморажавайце наборы запытаў, вырахоўвайце практычныя парагрыфы адзывання дакументаў разам з ступенем правадарнасці адпаведзей, і перабудоввайце індэксы за графікам, який адпавядае частоте змены выхадных матэрыялаў. Калі вы используеце гібрыдны пошук, переранжаванне або фільтры метадаў, застаўляйце той самы критэрыян, южаба праграсы будуць видныя, а не толькі на прыкладах. З самага пачатку трэба спрыятаць атрыбутам доступу як частыні пакета дадзеных; адсутнасць прав на пазнейшым этапе — гэта прычына, чаму прыватныя нотаткі кадровага апарата трапляюць у публічныя чаты. Нарэшце, калі главныя фрагменты дадзеных выглядаюць слабкімі, краща адмовіцца ад адпаведзі і прагучыць запыт пра цытату, чым робіць вольнае заўважэнне — корыстувачы больш даверяюць калібраванай мовчанню, чым вільна выдуманай інформацыі.
Зберагайце інструкцыі па перабудове індэксаў, пераглядах доступу і вядомым способам дзеяння аберанняў разам з дыяграмамі успешных сцэнарыёў, южаба аператары будуць мяць не толькі презентацыйныя слайды.
Зберагаюце кнігі інструкцый для перабудовы індэксаў, аналізу доступу і вядомых спосабоў выключэння праз канцепты стандартных сцэнарыяў, ўпынку аператары будуць мець больш, чым проста набор слайдоў.
Зберагаюце кнігі інструкцый для перабудовы індэксаў, аналізу доступу і вядомых спосабоў выключэння праз канцепты стандартных сцэнарыяў, упынку аператары будуць мець больш, чым проста набор слайдоў.
Зберагаюце кнігі інструкцый для перабудовы індэксаў, аналізу доступу і вядомых спосабоў выключэння праз канцепты стандартных сцэнарыяў, упынку аператары будуць мець больш, чым проста набор слайдоў.
Зберагаюце кнігі інструкцый для перабудовы індэксаў, аналізу доступу і вядомых спосабоў выключэння праз канцепты стандартных сцэнарыяў, упынку аператары будуць мець больш, чым проста набор слайдоў.
Зберагаюце кнігі інструкцый для перабудовы індэксаў, аналізу доступу і вядомых спосабоў выключэння праз канцепты стандартных сцэнарыяў, упынку аператары будуць мець больш, чым проста набор слайдоў.
Зберагаюце кнігі інструкцый па перабудове індэксаў, аналізе доступу і вядомых спосабах выключэння праз канцэпты успішных працоў, каб аператары отримвалі не толькі прэzentацыі.