RAG: Retrieval-Augmented Generation

Генерация с дополнением из поиска — архитектурный подход, при котором языковая модель отвечает не только из своей «памяти», а с опорой на ваши документы и базы знаний. Ниже — как это устроено.

ЧанкингЭмбеддингиВекторный поиск Семантическая близостьКонтекст для LLM

Как работает RAG

Два конвейера: индексация документов (один раз) и обработка запроса (каждый вопрос).

📄 Документы PDF, DOCX, TXT… ✂️ Чанкинг разбиение на фрагменты 🔢 Эмбеддинги текст → векторы 🗄️ Векторная БД pgvector 💬 Вопрос запрос пользователя 🔍 Поиск похожие фрагменты 🤖 LLM ответ с опорой на контекст
1

Индексация

Документ разбивается на фрагменты (чанки). Каждый фрагмент превращается в числовой вектор — эмбеддинг, отражающий смысл текста, — и сохраняется в векторной базе.

2

Поиск (Retrieval)

Вопрос пользователя тоже превращается в вектор. База находит фрагменты, ближайшие по смыслу к вопросу, — даже если слова не совпадают дословно.

3

Генерация (Generation)

Найденные фрагменты подставляются в запрос к языковой модели как контекст. Ответ опирается на ваши данные — меньше галлюцинаций, точнее формулировки.

Из чего состоит RAG-система

Типовые компоненты решения.

Хранилище документов

Исходные файлы и метаданные: откуда взят фрагмент, версия документа, права доступа.

Модель эмбеддингов

Преобразует текст в векторы фиксированной размерности. От её качества зависит точность поиска.

Векторная база

Хранит эмбеддинги и ищет ближайшие по косинусной близости. Примеры: pgvector, Qdrant, Milvus.

Полнотекстовый поиск

Дополняет векторный поиск точным совпадением по словам — гибридный поиск повышает полноту выдачи.

Оркестратор

Склеивает конвейер: принимает вопрос, ищет контекст, формирует промпт, возвращает ответ с источниками.

Языковая модель

Финальное звено: генерирует ответ, опираясь на переданный контекст, а не только на обучающие данные.