РАГ — што гэта: можлівасць для ШЫ-модэляў адкрыць доступ да зовнішняй інформацыі
Практычныя нарады для пачатківцоў пра тэхналогію 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ацыі.