RAG-сервис за кадром выполняет цепочку шагов: от вашего вопроса до готового ответа с цитатами. Понимание этой цепочки помогает формулировать запросы, оценивать качество ответов и настраивать систему при необходимости.
Со стороны интеграций цепочка часто начинается с POST /api/v1/query; в продукте тот же сценарий доступен из UI /chat/.
Цепочка от запроса до ответа
Пользователь задаёт вопрос. Сервис не отправляет его «как есть» в большую языковую модель. Сначала по базе знаний ищутся релевантные фрагменты, затем они вместе с вопросом передаются в модель. Модель генерирует ответ, опираясь на эти фрагменты; в интерфейсе показываются и ответ, и источники.
Что такое эмбеддинги и векторный поиск
Чтобы искать «по смыслу», а не только по совпадению слов, тексты превращаются в векторы (числовые представления) — это и есть эмбеддинги. Запрос и документы (или их фрагменты) кодируются одной и той же моделью; близкие по смыслу тексты получают близкие векторы. Поиск по базе — это поиск ближайших векторов к вектору запроса: находятся самые релевантные фрагменты даже при другой формулировке.
Векторная БД хранит эмбеддинги документов и умеет быстро находить ближайших соседей. Популярные варианты — Qdrant, pgvector, Pinecone. RAG-сервис при индексации разбивает документы на чанки, получает для них эмбеддинги и сохраняет в векторной БД; при каждом запросе эмбеддинг запроса сравнивается с базой.
Гибридный поиск
Часто RAG объединяет векторный поиск и поиск по ключевым словам (например, BM25): так учитываются и смысл, и точные вхождения — команды, коды ошибок, имена конфигов. Результаты двух поисков объединяются (например, через RRF). Подробнее о выборе типа поиска — в статье RAG vs обычный поиск.
Роль промпта и цитирования
Найденные фрагменты подставляются в промпт к языковой модели вместе с инструкцией: отвечать только на основе этих фрагментов и указывать источники. Без чёткого системного промпта модель может «додумывать» или уходить в общие знания. Качественный RAG-сервис настраивает промпты так, чтобы ответ был привязан к документам, а в интерфейсе отображались ссылки на разделы или документы.
Компоненты RAG-сервиса
| Компонент | Роль |
|---|---|
| Модель эмбеддингов | Превращает запрос и тексты в векторы для поиска по смыслу |
| Векторная БД | Хранит эмбеддинги фрагментов, быстрый поиск ближайших |
| Поиск (векторный / гибридный) | Отбор релевантных фрагментов по запросу |
| LLM (языковая модель) | Генерирует ответ по фрагментам и системному промпту |
| Промпты | Задают формат ответа и требование опираться на источники |
Вывод: RAG-сервис проходит путь «вопрос → эмбеддинг → поиск по базе → отбор фрагментов → промпт + контекст → ответ с цитатами». Эмбеддинги и векторный поиск дают поиск по смыслу; LLM и промпты — связный ответ с привязкой к вашим документам.