RAG и поиск по знаниям

С поиском по знаниям ассистент отвечает по вашим документам, а не только по общим знаниям языковой модели (LLM). Перед генерацией ответа платформа находит в подключённых источниках подходящие фрагменты, кладёт их в контекст модели и показывает, откуда взят ответ. Источники вы подключаете в карточке ассистента, а поведение поиска задаёт общий для всей платформы профиль поиска, который создаёт администратор. Если источники не подключены, ассистент отвечает только знаниями модели.

Из чего ассистент берёт знания

У ассистента два вида источников: базы знаний рабочего пространства и файлы ассистента. Оба вида вы подключаете в карточке ассистента на вкладке Основное, в блоке Источники знаний.

Базы знаний вы выбираете в поле Базы знаний. Под полем платформа подсказывает, какой глобальный провайдер эмбеддингов будет использован, и предупреждает, если выбранные базы проиндексированы несовместимой моделью.

Файлы ассистента вы загружаете на вкладке Файлы ассистента. В поиске участвуют только файлы с ролью RAG-источник. Роль Материал означает другое: платформа передаёт такой файл ассистенту целиком как шаблон или образец. Поддерживаются PDF, DOC, DOCX, TXT и XLSX.

Карточка ассистента, вкладка «Основное», блок «Источники знаний» с полем «Базы знаний» и выбранными базами
Блок «Источники знаний» в карточке ассистента

Как платформа находит фрагменты

Поиск идёт в два прохода по одному и тому же набору фрагментов: текстовый поиск по словам запроса и векторный поиск по смыслу. Платформа объединяет результаты обоих проходов в один список, отсекает слабые совпадения порогом релевантности и обрезает список до нужного числа фрагментов.

  1. Пользователь задаёт вопрос в чате.
  2. Платформа переформулирует вопрос с учётом предыдущих сообщений чата, если вопрос опирается на них.
  3. Платформа отправляет запрос в текстовый и векторный поиск по подключённым источникам.
  4. Платформа объединяет результаты выбранной стратегией и сортирует их.
  5. Платформа отсекает слабые совпадения порогом и обрезает остальные до лимита фрагментов и лимита контекста.
  6. Модель строит ответ по найденным фрагментам, а платформа прикладывает к ответу список источников.

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

Как работает порог релевантности

Платформа сравнивает порог Минимальная релевантность с нормализованной оценкой фрагмента по шкале от 0 до 1. Из двух оценок — текстовой и векторной — платформа берёт лучшую, поэтому фрагмент проходит порог, если лидирует хотя бы по одному из проходов. Шкала одна и та же при любой стратегии, так что значение порога не нужно пересчитывать при смене стратегии.

Если порог отсекает вообще все найденные фрагменты, платформа возвращает результаты без фильтрации: завышенный порог не оставляет пользователя без ответа, но и не улучшает ответ. Признак того, что порог задран, — ответы, собранные из явно посторонних фрагментов.

Примечание. Порог не меняет объём выборки: сколько кандидатов берут проходы, задают Top-K текстовых документов и Top-K векторных документов, а сколько фрагментов дойдёт до ответа — Top K.

Где задать поведение поиска

Откройте карточку ассистента, перейдите на вкладку Расширенные настройки и раскройте блок Расширенные настройки поиска. Поле Режим поиска предлагает два варианта.

РежимЧто делаетКогда выбирать
Использовать активный профиль поискаАссистент наследует общий для платформы профиль целикомПоведение по умолчанию, единые правила для всех ассистентов
Кастомный режимПереопределяет параметры поиска, переформулирования и переранжирования для этого ассистентаОдному ассистенту нужна своя логика

Профиль поиска — общая настройка платформы, а не рабочего пространства: его создаёт и активирует администратор. В режиме профиля платформа показывает название профиля и его сводку: стратегию, Top K, лимиты текстового и векторного поиска, состояние переформулирования и переранжирования.

В кастомном режиме пустое поле означает наследование: платформа берёт значение из активного профиля, а подсказка под полем показывает, какое именно. Заполняйте только то, что действительно отличается.

Вкладка «Расширенные настройки», раскрытый блок «Расширенные настройки поиска»: переключатель «Режим поиска» и поля «Top K», «Минимальная релевантность», «Лимит контекста»
Расширенные настройки поиска в карточке ассистента

Какую embedding-модель использует ассистент

Блок Embedding-модель для запросов определяет, какой моделью платформа переводит вопрос в вектор. Вариант Глобальный режим берёт модель из глобальных RAG-настроек платформы и подходит почти всегда. Вариант Custom override нужен, только если подключённые базы знаний вручную переиндексированы другой моделью; при сохранении сервер проверяет, совместимы ли подключённые базы знаний с этой моделью.

Несовпадение модели вопроса и модели, которой проиндексирована база, — самая частая причина ситуации «поиск ничего не находит». Размерность вектора глобальной модели администратор задаёт полем Размерность вектора в настройках индексации платформы.

Какие параметры отвечают за полноту и точность

Все поля ниже доступны в кастомном режиме. Значение по умолчанию каждое поле наследует из активного профиля поиска и показывает его как подсказку.

ПараметрЧто делаетДиапазонКогда менять
Top KСколько фрагментов попадёт в контекст ответа1–20Ассистент не находит нужный документ или в ответ попадает лишнее
Минимальная релевантностьОтсекает слабые совпадения0–1В ответы попадает посторонний текст
Лимит контекстаВерхняя граница объёма найденного текста в токенах500–20 000Ответы обрываются или растёт стоимость
Top-K текстовых документовСколько кандидатов берёт текстовый поиск1–20Точные формулировки теряются
Top-K векторных документовСколько кандидатов берёт векторный поиск1–20Теряются близкие по смыслу формулировки

Вспомогательные механизмы вы настраиваете отдельно.

МеханизмПоляЧто даёт
ПереформулированиеВключить переформулирование, Модель для переформулированияУточняющие вопросы вида «а какие исключения?» переписываются с учётом предыдущих сообщений
ПереранжированиеВключить rerank, Модель ранжирования, Rerank candidate count (1–50), Rerank promptЯзыковая модель пересортировывает кандидатов и оставляет самые полезные
История чатаМаксимум сообщений (0–20), Максимум символов (0–50 000)Ограничивает, сколько предыдущих сообщений уходит в поиск
Кэширование контекстаВключить кэширование, Время жизни кэша (секунды) (60–1800, по умолчанию 300)Переиспользует найденные фрагменты в рамках одного чата

Чем отличаются стратегии поиска

Стратегия определяет, как платформа объединяет результаты текстового и векторного поиска. Стратегию задаёт поле Стратегия: от выбранного значения зависит, какие поля появятся рядом.

СтратегияКак объединяетДополнительные поляКогда подходит
RRFСкладывает места кандидата в обоих спискахRRF k (1–500)Универсальный вариант без ручной настройки
Weighted ThresholdedВзвешивает оценки и отсекает каждый проход своим порогомВес BM25, Вес вектора, BM25 threshold, Vector thresholdНужен жёсткий контроль шума
UnionОбъединяет оба списка без взвешиванияНетВажнее не потерять потенциально полезное

Поля Вес BM25, Вес вектора, BM25 threshold и Vector threshold видны только при стратегии Weighted Thresholded, поле RRF k — только при RRF. Лимиты текстового и векторного поиска доступны всегда.

Где посмотреть источники ответа

Когда в ответе есть цитаты, под ним появляется кнопка Источники со счётчиком найденных документов и фрагментов. Кнопка открывает справа панель Источники со списком карточек: название документа, раздел и фрагмент текста, по которому построен ответ. Из карточки с привязкой к базе знаний можно перейти к документу целиком.

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

Панель «Источники» с карточками цитат: название документа, раздел и фрагмент текста, использованный в ответе
Панель «Источники»: карточки цитат с документом и фрагментом

Как настроить поиск внутри сценария

Если у ассистента в поле Обработка выбран режим Сценарий, вкладка Расширенные настройки параметров поиска не показывает: платформа подсказывает, что эти параметры задаёт узел Поиск по знаниям в редакторе сценария (workflow).

У узла есть поле Источник с двумя вариантами. Вариант Базы знаний ассистента берёт то, что выбрано в карточке ассистента; вариант Конкретная база знаний фиксирует одну базу и делает узел независимым от настроек ассистента. Поле Поисковый запрос задаёт, что именно искать, а поле Отправить ответ пользователю в чат выбирает между вариантами После завершения и Потоково. Модель для ответа узел по умолчанию берёт из основной модели агента, а переопределить её можно в настройках узла.

Частые вопросы

Ассистент отвечает без опоры на документы

Источники не подключены или ещё не проиндексированы. Проверьте:

  • в блоке Источники знаний выбрана хотя бы одна база и настройки сохранены;
  • у файлов ассистента стоит роль RAG-источник, а не Материал;
  • статус базы знаний — Актуальна;
  • в сценарном режиме в сценарии есть узел Поиск по знаниям.

Поиск не находит вообще ничего

Чаще всего платформа переводит вопрос в вектор не той моделью, которой проиндексирована база. Проверьте:

  • в блоке Embedding-модель для запросов выбран Глобальный режим;
  • под полем Базы знаний нет предупреждения о несовместимой модели;
  • база проиндексирована после последней смены глобальной модели.

В ответ попадает слишком много лишнего

Выборка шире, чем нужно. Попробуйте по одному шагу за раз:

  • уменьшить Top K;
  • поднять Минимальная релевантность;
  • включить переключатель Включить rerank и указать модель ранжирования;
  • сузить список баз знаний до профильных.

Нужный документ не попадает в ответ

Документ недоступен поиску или проигрывает конкурентам по релевантности. Проверьте:

  • индексация документа завершена и его статус — Актуален;
  • документ доступен пользователю, который задаёт вопрос;
  • порог Минимальная релевантность не завышен;
  • в списке источников ассистента выбрана та база, где лежит документ.

В настройках ассистента появился блок «Недоступные источники»

К одной из привязанных баз знаний закрыт доступ или база удалена. Нажмите Удалить недоступные, чтобы убрать ссылки, либо обратитесь к владельцу базы за возвратом доступа.

Что дальше

  • Базы знаний — наполнить и проиндексировать источники, по которым идёт поиск.
  • Ассистенты — подключить источники и выбрать режим обработки.
  • Файлы, вложения и импорты — разобраться с ролями файлов ассистента.
  • Чаты — посмотреть, как источники выглядят в переписке.
  • Сценарии — настроить узел Поиск по знаниям в сценарии.