Назад к подготовке

Архитектура RAG/поисковой системы для документов

Нужно построить систему, которая ищет по внутренним документам и помогает отвечать на вопросы. Какой пайплайн спроектировать?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Загрузка документов, очистка и chunking, metadata/ACL, embedding index, lexical index, hybrid retrieval, реранжирование, generation с citations и слой проверок: permissions, freshness, hallucination, fallback.

Полный разбор

Базовый RAG-пайплайн начинается с загрузки документов: забрать документы из источников, очистить, разбить на чанки, сохранить metadata, версии, владельца и права доступа. Для retrieval обычно стоит иметь не только vector index, но и lexical search, потому что точные термины, номера документов и имена часто лучше находятся BM25.

На запросе система делает query normalization, hybrid retrieval, реранжирование top-N чанков, затем передает компактный контекст в LLM. Ответ должен содержать ссылки/citations на источники и не выходить за права пользователя. Если контекста мало или confidence низкий, лучше честный fallback, чем выдуманный ответ.

Оценка: retrieval Recall@K/MRR/NDCG на gold set, faithfulness ответа, answer relevance, latency, cost, coverage по типам документов, доля отказов и жалобы пользователей.

Теория

RAG - это не только LLM prompt, а поисковая система с правами доступа, индексами, реранжированием и оценкой достоверности.

Типичные ошибки

  • Делать только векторный поиск без lexical fallback.
  • Не учитывать ACL и версии документов.
  • Оценивать только красоту ответа, не проверяя найденный контекст.