Два режима: совпадение по ключевым словам и поиск по смыслу. RAG добавляет к поиску генерацию ответа. Критерий выбора — тип запроса и структура архива.
Лексический ранг часто строят по схеме вроде BM25; семантика — через эмбеддинги и ближайших соседей в векторном индексе.
Обычный поиск (ключевые слова)
Оптимален при точном совпадении: имя конфига, команда, код ошибки. Быстрый. Предсказуемый. Объяснимость результата: «найдено вхождение в документе». Несовместим с перефразированием и синонимами. Вопрос «как сделать X» при отсутствии буквальной формулировки в архиве даёт пустую или нерелевантную выдачу.
Имеет смысл использовать для справочников команд, списков переменных окружения, идентификаторов. Там, где пользователь уже знает, что искать, и формулирует запрос точными терминами.
Векторный поиск (семантика)
Запрос и документы превращаются в векторы (эмбеддинги). Поиск идёт по близости в пространстве смыслов, а не по совпадению токенов. Запрос «настроить реверс-прокси для nginx» находит разделы про reverse proxy и проксирование без точного совпадения фраз. Подходит для больших корпусов и формулировок на естественном языке.
Ограничение: качество сильно зависит от модели эмбеддингов и языка. Для смешанного русско-английского контента выбирайте модели, обученные на обоих языках или с хорошим кросс-язычным переносом.
Гибридный поиск
Семантика плюс BM25 (или аналог). Одновременно учитываются смысловые совпадения и точные вхождения. Снижается вероятность пропуска документа из-за иной формулировки. Часто гибрид даёт лучший результат, чем только векторный или только ключевые слова; минус — выше сложность и затраты на вычисления.
RAG: поиск плюс генерация ответа
RAG — надстройка над поиском. Шаг 1: поиск (векторный и/или по ключевым словам). Шаг 2: передача фрагментов в языковую модель. Выход: связный ответ с опорой на архив, а не просто список ссылок. Требует настройки: объём контекста, промпты, верификация цитат. Без чёткого системного промпта модель может «додумывать» и уходить от источников.
Матрица выбора
| Тип поиска | Когда использовать | Ограничения |
|---|---|---|
| Ключевые слова | Справочники, команды, код, точные идентификаторы | Не справляется с перефразированием и синонимами |
| Векторный | Большая база, вопросы «как», «почему», естественный язык | Зависит от модели эмбеддингов и языка |
| Гибридный | Семантика + точные вхождения, максимальная полнота выдачи | Выше сложность и затраты на вычисления |
| RAG | Чат-бот по архиву, готовый ответ с цитатами, а не только ссылки | Требует настройки промптов и верификации цитат |
Для DevOps и IT RAG с гибридным поиском часто оказывается оптимальным: точные совпадения по командам и конфигам сохраняются, смысловые ответы по регламентам и архитектуре генерируются. Архив остаётся источником истины; модель — интерфейсом к нему.
Практики применения
- Для справочников и кода — ключевые слова; для регламентов и «как сделать» — векторный или гибридный.
- Для чата по архиву — только RAG с обязательным цитированием источников.
Вывод: для справочников и кода — ключевые слова; для регламентов и «как сделать» — векторный или гибридный; для чата по архиву — RAG с обязательным цитированием источников.