РАГ — што гэта: як системы AI адзначаюць новыя знанні за патрабавам
Дазнаецеся, як працюе метод Retrieval-Augmented Generation — ад чакання і эмбедынгаў да пошуку вектараў, каб моделі ШІ моглі адпавядаць на запытанні без паўторнага навучэння.
Уявіце сабе дапаможніка ШІ, які ўжо давно завершыў свою падготовку.
Вы запытваеце яго:
«Што ў этым дасягу, які я ўжо заваносзу?»
Модель ніколі не сталкалася з гэтым файлам падчас сваей падготовкі.
То як жа ён можа адпаведзець?
Адна з адпаведзей — гэта тэхніка пад назвай Retrieval-Augmented Generation, якую часта скрацваюць до RAG.
RAG дазволяе системе ШІ запрашваць релевантны матэрыял з зовнішніх джерел і включаць гэты матэрыял у адпаведзь, якую ён стварае.
Ось і ў чым цікавасць:
Модель не павінна перепадготавляцца ў кожны раз, калі з’яўляецца новая інфармацыя.
Паглядзім, як гэта працюе.
Проблема: ШІ не можа знаваць усё
Моделі большых языков выучаюцься на тых данных, на якіяях яны былі навучаны.
Спроставленая версія гэтага процесу выглядае так:
Training Data
↓
Model Training
↓
Model Parameters
↓
AI Model
↓
Generate Answers
Калі навчанне завершыцца, у моделі няма автаматычнага спосабу абсорбаваць новыя дакументы, веб-сайты, корпоратывныя звіты чы аднойчыны файлы, якія з’являюцца пасля таго.
Падазром, вы сьегодні завершылі навчанне моделі.
А завтра хтось створыць:
new_report.pdf
Гэты PDF проста не існаваў калі модель была навучаная.
Тады як модель могла бы адпаведаць:
"Калі тры главныя нарадкі ў гэтым звіце?"
Гэта самэ ўсё та праслойка, якую створана RAG, каб запалаваць.
Што такое RAG?
RAG = Retrieval-Augmented Generation
Сама назва пояснюе механізм:
- Retrieval → аднаходжэнне релевантных дакументаў
У працоўным рэжыме не так, як:
Question
↓
LLM
↓
Answer
возможна стварыць такую лінію обробкі:
Question
↓
Retrieve relevant information
↓
Add information to context
↓
LLM
↓
Answer
Такая змяна архітектуры можа маты значны эфект.
RAG проты традыцыйнага AI
Без RAG процес ўсё проста:
┌──────────────┐
Question ───→│ LLM │
└──────┬───────┘
↓
Answer
З ужываннем RAG:
┌─────────────────┐
│ External Data │
│ PDFs / Docs │
│ Database / Web │
└────────┬────────┘
↓
Question → Retrieval → Relevant Context
↓
LLM
↓
Answer
Модэлі больш не трэба запамятаваць усё заздалегідь.
У замяну ёна може з’являць неабходныя факты за патрэбам.
Як на самай працоўцы функціонуе RAG?
Стандартная наладка RAG праходзіць через кальколькі разных стадзій:
Documents
↓
Document Processing
↓
Chunking
↓
Embeddings
↓
Vector Database
↓
← User Question
↓
Query Embedding
↓
Similarity Search
↓
Relevant Chunks
↓
LLM
↓
Final Answer
Разберамо кожную з іх.
Складзіце свае даны
Пачатковай пунктам ёсць збір выхадных матэрыялаў. Гэта можа включаць:
- Файлы у формате PDF
- Дасягі, створаныя у Word
- Старонкі, запрашаныя з веб-сайтаў
- Навуковыя чырыны або даследжэння
- Внутршнія дакументы компаніі
- Інструкцыі, якія описваюць продукт
- Файлы з звычайным тэкстам
- Дакументы, якія зберагаюцца ў базе дадзеных
- Энтры з базы ведаў
Як прыклад, уявіце папку, якая мае:
company_policy.pdf
research_paper.pdf
employee_handbook.pdf
product_manual.pdf
Працэс RAG можа прыймаць і обрабоўваць усе гэта.
Разбіўка дасягоў на часткі
Падача цэлага дасягу модэлю за раз зазвычай не є практычной чераз обмежэння па розмеру.
Самэльга дасягі разбіваюцца на менейшыя елементы, якія называюцца часткамі.
Ось простая ілюстрацыя:
Document
│
├── Chunk 1
├── Chunk 2
├── Chunk 3
├── Chunk 4
├── Chunk 5
└── ...
Уявіце дасяг з 100 старонак, які мае калькі тысяча рэчэй.
У замест на сканаванне всіго тэксту за кожны запит, можна разбіць яго на больш адмініструемыя часткі:
Chunk 1 → Introduction
Chunk 2 → Architecture
Chunk 3 → Security
Chunk 4 → Performance
Chunk 5 → Limitations
Спосаб разбівання тэксту залежыць ад характару кантэнту і таго, што вы створаеце.
Канвертаванне тэксту ў эмбеддынгі
Сюды ўсё становіцца справжна цікавым.
Комп’ютеры не можуць разумець значэнне тэксту так, як людзі, прынеймна не натывна.
Ёжчы пераканаць гэта, тэкст перакладаецца у числовыя вектары, якія называюцца эмбеддынгамі.
Разглядзім гэты прыклад:
"Machine learning is a branch of AI"
↓
Embedding Model
↓
[0.21, -0.14, 0.73, ...]
І другое рэчы:
"Artificial intelligence includes machine learning"
↓
[0.19, -0.11, 0.70, ...]
Паколькі гэтыя два рэчы маюць супакоўанае значэнне, ўсунутыя імі вектары зазвычай знаходзяцца поблізу адзінага другога ў прасторе эмбеддынгаў.
У простай візуалізацыі:
AI
●
/ \
/ \
ML ● ● Robotics
\
\
Cooking ●
Мета не ў тым, каб знайсці буквальнае перакрыцча словаў.
У замест на гэта мета — адзначыць семантычную супаднеча — близасць у значэнні.
Што такое семантычны пошук?
Традыцыйны пошукавач на ключоўкі прыйме запит на кантэкст:
"car"
і будзе шукаць дакументы, якія буквальна маюць слова car.
Семантычны ж пошук прагне зрозумець, што на самай працоўцы мае на увазе запит.
Напрыклад, запіт на кантэкст:
"Як электрычныя аўтамабілі зберагаюць энергію?"
можа паказаць абзац, які пояснюе, што электрычныя аўтамабілі выкарыстоўваюць літій-іонныя элементы для зберагання электрычнага налягання.
Фразаванне ў гэтых двух запітах практычна не перасягаецца, пры тым як супаднеча застаецца логічной.
Гэта можліва таму, што эмбеддынгі кодуюць адносіны ў значэнні, а не толькі у спалучэнні.
Зберагачыце эмбеддынгі ў базе дадзенаў вектараў
Калі вже існуюць эмбеддынгі, ім трэба месца для зберагчыць.
Гэтая ролю выпало на долю базы вектарных дадзеных, якая зберагчыць:
Chunk
+
Embedding
+
Metadata
Прыблізна структуравана так:
Vector Database
ID Vector Text
-------------------------------------
1 [0.21,...] Chunk A
2 [0.78,...] Chunk B
3 [0.34,...] Chunk C
4 [0.91,...] Chunk D
Калі хтось падае запит, система скануе гэтыя зберажаныя вектары, каб знайсці адпаведны контэкст.
Сярод популярных інструментаў для такога вектарнага пошуку ёсць:
- FAISS
- pgvector
- Pinecone
- Weaviate
- Milvus
- Chroma
Канкрэтная база дадзеных, яку вы выберазе, не ёсць галоўным фактарам.
Важнае — гэта:
Зберагчыце інфармацыю у такім формате, які дазволяе шырокі і значэнчны пошук.
Пользователь задае запит
Спадзяймося, ўжо корыстувач запіша:
"Калія механізмы безпекі викорыстоўвае система?"
Эты вопыт пасля таго ператвараецца ў свой сабэй эмбеддынг.
User Question
↓
Embedding Model
↓
Query Vector
У гэты момант система зберагчыць цыфровы «пярасток» вопыту.
Пошук значучых адносоўных мяркаваў
Эты вектар запытку пасля таго паўставляецца ў адносе да кожнага вектара, які ўжо знаходзіцца ў базе дадзенаў.
У простыях словах:
Query
●
/ \
/ \
● ●
Relevant Relevant
Chunk Chunk
●
Unrelated
Выбіраюцца самыя близкія па адпаведнасці фрагменты.
Напрыклад, якшчо:
Question:
"What security mechanisms does the system use?"
Система можа вернуць:
Retrieved:Chunk 17 → Authentication
Chunk 42 → Encryption
Chunk 51 → Access control
Такім чынам, модэль тепер мае значучы, адносовы контекст для работы.
Дадаць атрыманыя мяркавы ў запытку
Калі знаходзяцца значучыя фрагменты, іх перадаюць LLM як контекст разам з первісным вопытом.
Канцэптуальна структура запытку выглядае так:
System Instructions
+
User Question
+
Retrieved Context
↓
LLM
↓
Answer
Напрыклад:
Context:
"The system uses AES-GCM encryption
for protecting stored data..."Question:"What encryption method does the
system use?"
З урахаваннем такой наладкі, модель можа адаптавацься з чымось на кшталт:
"Система выкарыстоўвае шифраванне AES-GCM для захавання збераглых дадзеных."
Такая адпаведзь базуецца на запрашаных дадзеных, а не толькі на тым, што модель засвоўвала пад час свайго первіснага навчання.
І гэтае ўсё, што мае значэнне
Сама модель не павінна буць выучылася чаго-небудзь стойкага з гэтай адмянкі.
Яе внутрашні параметры застаюцца незменнымі.
У замест на гэта, працэс выглядае так:
New Information
↓
External Knowledge Store
↓
Retrieve When Needed
↓
LLM Uses Context
↓
Answer
Гэтае раздзеленне між фіксаванымі знаннямі модэлі і зменным, зовнішнім джерелам знаń – гэта самае, што надае RAG яго сілы.
RAG не значыць, што AI выучыў інфармацыю
Гэтае размежаванне мае вельмі важлівое значэння, і легка ўпасть у памылку.
Дазвольце запэўніцца, што вы заваносіце файл на кшталт:
Project_Report.pdf
і асистэнт пачынае адпавядаць на запытанні на яго аднойчынку.
Гэта не значыць, што модель перманентна абсорбавала змест таго звярнення ў сваія параметры.
У замест на гэта дакумент ёсць:
Stored externally
↓
Retrieved when relevant
↓
Provided as context
↓
Used to generate response
Прыдатны аналагія — студэнт, які паводзіцца з учбовым падручнікам пад час екзамена.
Студэнт не запамятавае кожную сторонку заздалегідь.
У замест на гэта процес выглядае так:
Задаюцца запытанні, пасля чаго шукаецца адпаведная сторонка, яя чытаецца, і тады даёцца адпаведна адпаведзь
RAG паводзіцца прыбліжна так сама.
RAG vs Fine-Tuning
Гэта параджук часта выклікаецца, таму варта яго чытальна раз'ясніць.
Fine-Tuning
Fine-tuning на самай працоўкі вырашае параметры моделі, продаважываючы яе навчанне на спецыяльным наборах прыкладоў.
Канцэптуальна:
Base Model
↓
Training Data
↓
Fine-Tuning
↓
Modified Model
RAG
RAG застаўляе модель практычна такой, якая ёй і была, а замест таго суплікуе внешняю інфармацыю у момент задання запиту.
Base Model
+
External Knowledge
↓
Retrieval
↓
Context
↓
Answer
Ось спроставаны прагляд па бокам:
| Функцыя | RAG | Тонкая наладка |
|---|---|---|
| Змены параметраў модэлі | Зазвычай няма | Є |
| Внешняя інфармацыя | Адлічны падход | Менш прымусовы|
| Адкантаванне інфармацыі | Адкантаваць дакументы або індэкс | Можа затрабаваць переналадку |
| Прыватныя дакументы | Корыстны | Магчыма, але з іншымі компромісамі|
| Стыль або працэсаванне | Абмежана | Болей сильныя варыянты прыменення|
| Апавярэнне выхадных данаёў | Вялікі потэнцыялНе гарантавана за сваймі прыродам |
Этыя два методы не ўзаемна выключальныя; команды можаць іх сумаваць.
Чы можа RAG выкарыстоўваць Інтэрнет?
Так, ён можа.
База знаёмасцей з зовнішніх источнікаў не павінна знаходзіцца толькі ў прыватным хранілышчы дакументаў.
Система можа замест таго запрашваць інфармацыю з такіх источнікаў, як:
Internet
↓
Search Engine
↓
Relevant Pages
↓
LLM
↓
Answer
Гэта становіць ценнасць, калі запит залежыць ад актуальных фактов.
Напрыклад:
„Што змянілася ў пачатковай версіі гэтага програмнага забезпечэння?“
У такім случае система можа спачатку запрашаць актуальную дакументацыю і выкарыстоўваць яе для формування адпаведзі.
Пры тым самым, аднальне запрашання інфармацыі яшчэ не гарантуе точнасці.
Істочнік, з якога запрашваецца інфармацыя, все рава павінен быць надзеяным і рэальна стосаваным да запита.
RAG для вашых сабе дакументаў
Адзін з найпрактычнейшых спосабаў выкарыстоўвання гэтага патэрану — можлівасць безпосередняя розмова з вашымі сабственнымі файламі.
Уявіце папку, якая мае ў сабе каляго такога:
Research/
│
├── paper1.pdf
├── paper2.pdf
├── dataset_notes.pdf
├── experiment_results.pdf
└── thesis.pdf
Схема, адаснованая на RAG, дазволіць вам ставіць такія запытанні:
"Каліясць былі выявлены як галоўныя абмежэнні ў эксперыментах?"
Тады лянцюг обробкі выглядае так:
Your Documents
↓
Extract Text
↓
Chunk Documents
↓
Create Embeddings
↓
Vector Database
↓
Question
↓
Semantic Search
↓
Relevant Sections
↓
LLM
↓
Answer
Самэ гэтая прычына зробіла RAG такім ценным для робочых процесаў у галузі даследжэнняў і систем знанняў на роўні падпрыемства.
RAG у рэальных застосоўаннях
Гэты патэран відзначаецца ў шырокай разнаўидносці систем.
Адказванне на запытанні кляўэнтаў
Customer Question
↓
Product Documentation
↓
Retrieve Relevant Section
↓
AI
↓
Response
Адуцыя
Student Question
↓
Course Materials
↓
Relevant Concepts
↓
AI Tutor
↓
Explanation
Даследжэння
Research Question
↓
Research Papers
↓
Relevant Sections
↓
AI
↓
Summary
Корпаратыўныя знанні
Employee Question
↓
Internal Documents
↓
Retrieve Policy
↓
AI
↓
Answer
RAG не выключае цалкам галюцынацій
Этот момент трэба падкресліць.
Вы можаце прыпускать:
«Якшто я викорыстоўваю RAG, штучны інтэлект ніколі не будзе ствараць халюцинацый».
Гэта не зусім правда.
RAG можа зменшыць колькість певных типаў неадказоўнасцяў, але гэта не прабачае проблему цалкам.
Напрыклад:
Bad Retrieval
↓
Wrong Context
↓
LLM
↓
Wrong Answer
Існуе ўсё таксама калькі іншых спосабоў, калі можу адбыцца пахыбка:
- Фрагменты, якія былі раздзелены так, што абмежваецца ўсё іх значэнне
- Актуальныя факты, якіх проста няма ў вачоўнай матэрыі
- Адзначаныя часткі, якія на самай працэ нейкак не стосуюцца запытання
- Дасягнутыя дакументы, якія ўжо застарэлі або некоректны
- Вачоўныя файлы, якія з самага пачатку былі некоректныя або не падходзілі
- Занадта многі контэкст, які заўсёды падаецца ў запытанне
- Сама модэль, якая некоректна вырашае задачу, нават калі ў яе є хорашы вхідны данні
З-за гэтаго адрабарны система RAG патрэбуе не толькі базу дадзеных у вектарнай формацыі.
Ацэнка системы RAG
Можна ацэніць процес работы системы RAG на калькольных роўнях.
Якасць адзысквання інфармацыі
Чы справа система адзыскала правильную інфармацыю?
Question
↓
Retrieved chunks
↓
Are they relevant?
Якасць генеравання
Чы модэль дасправды належна выкарыстала адзысканую інфармацыю?
Retrieved Context
↓
Generated Answer
↓
Is the answer supported?
Якасць цэлага процесу
Чы весь процес разам правільна адпавядае на запыт пользователя?
Question
↓
Retrieval
↓
Context
↓
Generation
↓
Final Answer
Система можа злучыцца, нават калі адпаведны LLM ўжо высокакваліфікаваны.
Напрыклад:
Якщо падчас адзысквання будзе выкарыстаны неправільны документ, нават дужа скарбна модэль можа даць неправільную адпаведзь.
Матэматыка, якая стоіць за эмбеддінгамі
Эмбеддінгі дазваляюць порэшанаваць фрагменты інфармацыі за дапамою матэматыкі.
Адзін з шырока выкарыстоўваных показначыкаў сэроднечыня ёсць косінусовая сэроднечнасць.
Для двух вектараў A і B косінусовая сэроднечнасць вычысляецца як скалярны добутак A і B, разделеный на добутак их модуляў.
Раслічаныя значэння паказваюць, насколькі близкая ў направленні є супрацоўка двух вектараў.
Проста кажучы:
High similarity
↓
Vectors point in similar directions
↓
Likely related meaning
Это дае RAG конкрэтны матэматычны спосаб выявлення інфармацыі, якая сэмантычна адносіцца да запиту.
RAG — гэта як бібліятэка для ШІ
Мабыць, гэта самы ясны спосаб уявіць сабе гэта.
Уявіце ШІ як адзінаго вельмі здольнага студэнта.
Без RAG:
Student
↓
Uses what they already remember
↓
Answer
З RAG:
Student
↓
Goes to library
↓
Finds relevant book
↓
Reads relevant pages
↓
Answers question
Фундаментальныя знанні і спроможнасць студэнта да логічных выводам не зменіліся.
Зменилася толькі інфармацыя, якая є у распаўядзе на тэкучы момент.
У сутнасці, гэта і є вся ідея RAG.
Куды працюе RAG
Сістэмы RAG парадоксальна спосабом становяцца все бол складнымі.
У будучыні ў іх реалізаціях можа быць аднаўлены:
User Question
↓
Query Understanding
↓
Multiple Retrieval Sources
↓
Document Ranking
↓
Reasoning
↓
Tool Use
↓
Verification
↓
Answer + Evidence
Уместо таго, каб шукаць інфармацыю толькі ў адном дакументе, сістэма можа пераглядаць:
PDFs
+
Database
+
Website
+
API
+
Company Knowledge Base
Потым актуальныя фрагменты з’еднаюцца разам.
Гэта прыводзіць RAG да таго, каб стаў шырэйшай архітектурай знанняў і логічных выводам для агентаў AI, а не проста методам выкарыстоўвання інфармацыі.
Шырэйшы контекст
RAG абзначае значныя змены ў нашым падходзе да знанняў у AI.
Стары падход быў такім:
Train AI
↓
Put knowledge into model
↓
Ask questions
Новы падход выглядае больш так:
Train AI
↓
Keep knowledge externally
↓
Retrieve relevant information
↓
Reason over it
↓
Generate answer
Такі спосаб аддзелення інтэлекту модэлю ад зовнішніх знанняў выявляецца чыразна ўплывамым.
Модэлю больш не трэба зберагаць усі факты ў сабе.
У замен яму трэба ведаць, як эфектыва выкарыстоўваты інформацыю, калі ён да яе мае доступ.
Заключныя мысці
Можа, будучыня штучнага інтэлекту не заключаецца у стварэнні моделі, яка запамятавала ўсё, што толькі можна знать.
Можа, гэта радыя стварэнню моделі, якае можа визначыць, што ёй трэба знайсці, аднаходзіць правы джераг, эфектыва викорыстоўваць тэкст і пераканацца, чы рашэнне є правдападобным.
Самэ гэта робіць RAG значным для уваги.
AI Model
+
External Knowledge
+
Retrieval
+
Reasoning
+
Verification
↓
More Useful AI
Гэта вядома да большай ідеі: найрозумнейшы штучны інтэлект можа не быть тым, який знае ўсё. Цэю можа быть тая модель, якая ведае, як знайсці тое, што ёй трэба.
Спадневаная літаратура
- Агентны штучны інтэлект: ад мовных модэляў да автонамных агентаў — структураваны апіс, як LLM-ы пераходзяць у агентныя системы за дапамогою інструментаў, памяці, планавання, мнагаагентных архітектураў і інтэграцыі MCP.