Retrieval-Augmented Generation
Головна ідея RAG — поєднати дві сильні сторони:
Semantic search — пошук за змістом, а не лише за словами.; Grounded answer має бути побудована на документах, а не на здогадках моделі.; * embeddings;
- retrieval results;
- generated answers;
- reranker results;
- summaries;
- query rewrites.; Agentic RAG — RAG, де agent сам вирішує, як шукати інформацію.;
LlamaIndex часто використовують, коли фокус саме на документах і знаннях.; переважні аспекти:
- не гарантує істину;
- залежить від якості retrieval;
- потребує chunking і metadata;
- потребує access control;
- має змогу бути вразливим до prompt injection;
- потребує evaluation;
- має змогу давати outdated answers;
- не замінює SQL для структурованих даних;
- потребує monitoring і LLMOps.; Модель має змогу:
- потрібен точний числовий розрахунок із бази;
- задача вирішується SQL;
- документи неякісні;
- немає прав доступу;
- немає актуального index;
- потрібна повна гарантія без human review;
- джерела суперечливі й не мають ownership;
- інформаційні дані дуже чутливі, а немає security architecture;
- користувачі очікують юридично значущу відповідь без перевірки.;
Вона відповідає за similarity search, але не вирішує:
- title;
- author;
- date;
- version;
- department;
- product;
- module;
- language;
- access level;
- document type;
- URL;
- section;
- tags.;
- якщо chunks нерелевантні — повторити пошук;
- якщо джерел мало — змінити query;
- якщо документи суперечать — показати uncertainty;
- якщо відповідь не grounded — відмовитися.; module = "формування звітів"
Agentic RAG
* показувати джерела; * не відповідати, якщо джерел недостатньо; * відрізняти факт із документа від висновку; * не вигадувати citations; * вказувати дату або версію документа, якщо це істотно.; * FAISS; * Milvus; * Pinecone; * Weaviate; * Qdrant; * Chroma; * pgvector; * Elasticsearch vector search; * Azure AI Search; * OpenSearch vector search.;<ref>https://developer.nvidia.com/topics/ai/retrieval-augmented-generation</ref> == RAG і caching == Можна кешувати: == RAG для підтримки клієнтів == * інструкція 2023 року; * інструкція 2024 року; * новий регламент 2026 року; * draft; * archived page.; * '''Vector database''' — база даних для зберігання embeddings.; '''Generation''' — це етап, коли LLM формує відповідь.;== Chunking == * не розуміє синоніми; * погано функціонує з перефразуванням; * має змогу не знайти документ, якщо слова інші.; * чи правильний документ у top-5?;[[Категорія:Retrieval-Augmented Generation]] <pre> [[Категорія:AI]] LangChain має змогу допомогти з: має змогу знайти документ: '''Source attribution''' — прив’язка конкретного твердження до конкретного джерела.; Retrieval має змогу бути: * мати актуальні статті; * додати metadata; * зберігати версії; * прибирати дублікати; * показувати citations; * контролювати доступ.; * '''Retrieval''' — пошук релевантної інформації.; краще зробити SQL-запит або BI-звіт, а не шукати відповідь у документах.; Без citations RAG перетворюється на “AI сказав”.;
Але caching має ризики:
Секрет RAG: дуже часто якість залежить не від “найрозумнішої LLM”, а від нудних речей: правильного chunking, metadata, filters і reranking.; * Hybrid search — поєднання semantic і keyword search.; * чи формат правильний?; * чи вона спирається на джерела?; * Chunk — фрагмент документа.; Agent має змогу:
Приклади:
Він корисний для:
- фальшива інструкція;
- неправильна ціна;
- прихований prompt injection;
- фейкове правило доступу;
- шкідливий код;
- документ із неправильною датою.; Найкращі системи комбінують:
Це не скасовує RAG.; * query;
- retrieved chunks;
- reranked chunks;
- prompt;
- model response;
- citations;
- latency;
- token usage;
- cost;
- user feedback;
- evaluation scores;
- model version;
- embedding model;
- retriever configuration.; # Правильно налаштувати chunking.; як ілюстрація, якщо chunk має 800 tokens, а overlap 100 tokens, то наступний chunk починається не в цілому з нового місця, а захоплює частину попереднього контексту.; з цієї причини RAG потребує evaluation і правил відповіді.; # Враховувати права доступу.; * корпоративних wiki;
- технічної документації;
- ERP-документації;
- customer support;
- internal knowledge base;
- юридичних баз;
- policy search;
- onboarding;
- API-документації;
- R&D документів;
- навчальних матеріалів;
- аналізу PDF;
- пошуку по релізах;
- AI-помічників.; NVIDIA описує reranking як частину retrieval process, коли query retrieves relevant data з vector database, reranks results і передає їх LLM.;
У контексті K2 ERP RAG має змогу бути допоміжним AI-шаром:
Якщо користувач системи питає:
- extraction;
- cleaning;
- chunking;
- metadata;
- embeddings;
- storage;
- permissions;
- refresh;
- deduplication.;
істотно: RAG — це не гарантія істини.;== Data freshness ==
- relationships;
- entities;
- dependencies;
- organization structure;
- product modules;
- contracts;
- legal references;
- process maps;
- linked documentation.; * Reranking — повторне сортування знайдених фрагментів.; * пошук по wiki;
- відповіді по інструкціях;
- пояснення звітів;
- пошук по API-документації;
- onboarding користувачів;
- AI-помічник підтримки;
- пояснення бізнес-процесів;
- підказки розробникам;
- пошук по релізах;
- аналіз звернень.;== RAG і MLflow ==
і поруч посилання на відповідний chunk.; LangChain описує retrieval як foundation of RAG: зовнішні знання знаходяться під час запиту, щоб enhance LLM answers with context-specific information.; Grounding — прив’язка відповіді до джерел.;[1]
У корпоративній документації часто є собою кілька версій.;[2]
- Почати з конкретного use case.; * чи достатньо контексту для відповіді?;== Keyword search ==
Retrieval-Augmented Generation — один із найважливіших підходів для практичного використання LLM у бізнесі.; # Додати metadata.; Для документації істотно:
RAG і мультимодальні документи
Поганий retrieval збільшує витрати й погіршує якість.; * IBM — What is RAG
- IBM Research — What is retrieval-augmented generation
- Microsoft Learn — RAG in Azure AI Search
- Microsoft Learn — RAG and indexes in Microsoft Foundry
- Microsoft Azure — What is retrieval-augmented generation
- NVIDIA Blog — What is Retrieval-Augmented Generation
- NVIDIA Developer — Retrieval-Augmented Generation
- LangChain Docs — Retrieval
- LangChain Docs — Build a RAG agent
- LangChain — Retrieval Augmented Generation
- MediaWiki — Help:Formatting
- MediaWiki — Help:Links
Створення нового замовлення клієнта Він не веде обліковий облік, не проводить документи, не керує складом і не рахує фінансовий блок.; # Показувати citations.; * Source attribution — прив’язка твердження до конкретного джерела.; * відповідати по документах;
- оновлювати знання часто;
- показувати джерела;
- працювати з приватними даними;
- не перенавчати модель після кожної зміни;
- відокремити знання від моделі;
- контролювати доступи;
- оперативно додавати нові документи.; Насправді база — лише один компонент.; * Graph RAG — RAG із використанням графа знань.;[3]
Проста аналогія: звичайна LLM — це людина, яка відповідає з пам’яті.;MLflow має змогу допомагати з RAG evaluation і observability.;
Якщо retrieval поганий, LLM отримає неправильний контекст і дасть слабку відповідь.; * RAG evaluation — оцінювання retrieval і відповідей RAG-системи.; це технічна архітектура, у якій велика мовна модель не відповідає лише зі своїх внутрішніх знань, а спочатку отримує релевантні фрагменти з зовнішніх джерел: документів, wiki, баз знань, PDF, сайтів, баз даних або пошукових індексів виступає ключовою рисою Retrieval-Augmented Generation або RAG.; як ілюстрація, якщо питання стосується модуля ERP, граф має змогу знайти пов’язані документи, звіти, API, права доступу й бізнес-процеси.; * чи не знайшовся документ без прав доступу?; * RAG — скорочення від Retrieval-Augmented Generation.; * документ оновили, а index старий;
- сторінку видалили, але chunk залишився;
- правила змінилися;
- стара реліз документа має вищий rank;
- користувач системи отримує outdated answer.; User Question → Query Embedding → Retrieval → Reranking → Prompt → LLM → Answer + Sources
- неправильно прочитати документ;
- змішати два sources;
- зробити неправильний висновок;
- відповісти поза контекстом;
- вигадати деталь;
- використати нерелевантний chunk;
- не сказати “не знаю”.; завдяки наявності покращення AI-моделі шляхом підключення до зовнішніх баз знань забезпечується через IBM визначає RAG як архітектуру; додатково реалізовано що користувачі можуть LLM давати релевантніші й якісніші відповіді.; Згідно з інструкцією "Створення замовлення", поле "Контрагент" є собою обов’язковим.;== Citations ==
Retrieval evaluation перевіряє, чи платформа знайшла правильні документи.; NVIDIA описує RAG як техніку для підвищення accuracy і reliability генеративних AI-моделей через інформацію, отриману з конкретних релевантних джерел.; * чи немає вигаданих фактів?; * chunking;
- metadata;
- permissions;
- prompt;
- reranking;
- citations;
- evaluation;
- data freshness;
- security;
- monitoring.;
Це корисно для production-систем, де краще сказати “не знайшов достатньо даних”, ніж вигадати відповідь.; Microsoft Foundry documentation згадує agentic retrieval як еволюція classic RAG patterns.; Під час побудови RAG варто: Метрики: Недолік:
Metadata — додаткова відомості про chunk або документ.;Vector database
Grounding
Чому RAG потрібен
RAG і ERP-системи
Retrieval evaluation
Для RAG істотно не тільки один раз індексувати документи, а й оновлювати index після змін.; # Додати reranking.; Типовий RAG pipeline має два етапи:
- застарілі відповіді;
- права доступу;
- зміни документів;
- персоналізований контекст;
- sensitive data.;== RAG і LlamaIndex ==
* loaders; * text splitters; * vector stores; * retrievers; * rerankers; * prompt templates; * chains; * agents; * tool use; * evaluation.;== Embeddings == '''Практична думка:''' RAG — це не “підключити AI до папки з PDF”.; RAG має вміти: == RAG evaluation == Long context надає можливість вставити більше тексту, але: * під час indexing; * під час retrieval; * під час generation; * під час citations; * у logs; * у exports; * у cached answers.; # Логувати retrieval і відповіді.; * '''Generation''' — генерація відповіді мовною моделлю.; AI не повинен бачити документи, які користувач системи не має права бачити.; * якість embeddings; * пошук за відмінками; * суржик; * змішані українсько-англійські терміни; * назви модулів; * абревіатури; * транслітерацію; * технічні терміни; * синоніми; * помилки користувачів.; Reranking сприяє: RAG потрібно оцінювати.; '''Hybrid search''' поєднує keyword search і semantic search.; Не без ускладнень “згадує”, а функціонує з конкретними документами.; Для enterprise RAG cache має бути permission-aware.;== Hybrid search == </div> * keyword search знаходить точний номер документа; * semantic search знаходить пояснення; * metadata filtering прибирає зайві джерела; * reranker сортує результат.; як ілюстрація: Якщо retrieval не знайшов правильний chunk, LLM часто вже не врятує відповідь.; Microsoft Azure описує RAG як pattern, який розширює функціональні можливості LLM, grounding responses in proprietary content.; * чи не знайшовся застарілий документ?;== Джерела == == RAG і файли PDF == <pre> Модель отримує: * питання користувача; * системні інструкції; * знайдені фрагменти; * правила відповіді; * формат; * обмеження; * sources або metadata.; RAG — це людина, яка перед відповіддю відкриває потрібні інструкції, цитує їх і пояснює простими словами.; Не можна оцінювати тільки “чи відповідь красиво звучить”.; * '''Data poisoning''' — додавання шкідливих або помилкових даних у knowledge base.; * '''Semantic search''' — пошук за змістом.; '''Data freshness''' — актуальність даних у RAG.; Права доступу мають перевірятися: == RAG і access control == == RAG і SQL ==
Source attribution
- не знати приватні документи;
- не знати актуальні зміни після training;
- помилятися в деталях;
- вигадувати джерела;
- змішувати схожі факти;
- відповідати занадто загально;
- не мати доступу до конкретної бази знань.;== RAG і hallucinations ==
Prompt injection у RAG
Corrective RAG
- RAG для документації;
- SQL для цифр;
- API для business logic;
- LLM для пояснення.;== Metadata ==
Якщо vector database містить усе без прав доступу, RAG має змогу стати джерелом витоку.; Access control — критична частина enterprise RAG.; # Очистити й структурувати документи.; Для structured data потрібен інший підхід.; У розробці RAG можна використовувати для:
- чи відповідь правильна?; * Embedding — числове представлення тексту.;== Головна ідея ==
Як функціонує RAG
Приклади vector database або vector search систем:
{{SEO