Урок курса
Что такое RAG и как устроена RAG-система
Vector DB & RAG DeveloperRAG, или Retrieval-Augmented Generation, — архитектура, в которой перед генерацией ответа система находит релевантные фрагменты документов и передаёт их языковой модели. Это позволяет отвечать по внутренней базе знаний и свежим данным без дообучения LLM.
Два контура RAG
Офлайн-индексация готовит документы к поиску:
- файлы загружаются и очищаются;
- текст делится на чанки;
- для чанков вычисляются эмбеддинги;
- векторы, текст и метаданные записываются в хранилище.
Онлайн-запрос выполняется для каждого вопроса:
- вопрос превращается в эмбеддинг;
- поиск возвращает top-k похожих чанков;
- при необходимости результаты фильтруются или rerank-моделью меняется их порядок;
- найденный контекст вместе с вопросом передаётся LLM;
- модель формирует ответ со ссылками на источники.
RAG не делает модель всезнающей: он лишь даёт ей выбранные системой доказательства.
Зачем RAG, если можно положить документы в промпт
Для нескольких коротких файлов прямой контекст действительно проще. Но большая база не помещается в окно модели, стоит дорого и содержит много нерелевантного текста. Retrieval выбирает небольшой набор фрагментов под конкретный вопрос.
RAG полезен, когда данные часто обновляются, должны оставаться внутри компании или когда ответу нужны проверяемые источники. Он не всегда нужен: для стабильной классификации, перевода или генерации текста без собственной базы знаний retrieval может только усложнить систему.
Основные точки отказа:
- документ не попал в индекс;
- chunking разорвал важный контекст;
- embedding-модель плохо отражает предметную область;
- нужный чанк не вошёл в top-k;
- LLM проигнорировала найденный текст или придумала вывод сверх источников.
Поэтому качество RAG нельзя оценивать только по красоте финального ответа.
Как оценивать RAG
Сначала проверяют retrieval: нашёлся ли нужный документ и на какой позиции. Для этого используют Recall@k, Precision@k и MRR. Затем отдельно оценивают генерацию: отвечает ли текст на вопрос, подтверждается ли контекстом и корректно ли указывает источники.
Хороший минимальный тестовый набор содержит реальные вопросы пользователей, ожидаемые документы и критерии ответа. После каждого изменения chunk size, embedding-модели или промпта набор прогоняют заново.
Практическая архитектура должна также хранить метаданные: источник, дату, владельца, уровень доступа. Фильтр прав применяется до передачи текста модели. Иначе качественный поиск может превратиться в утечку закрытого документа.
RAG — это поисковая система плюс генератор. Если retrieval не нашёл доказательство, модель не должна уверенно компенсировать его выдумкой.
Попробуйте решить
На каком этапе RAG выбирает фрагменты документов, относящиеся к вопросу?
Продолжить с проверкой и прогрессом
Откройте интерактивный раннер с заданиями урока.
