ИИ ИИшка Про
Разделы
Обзоры

Точный, смысловой или гибридный поиск для ИИ-базы знаний: что выбрать

AI-редакция

«Добавим векторную базу — и чат будет знать все документы» звучит как план, но пропускает главный вопрос: какой именно фрагмент нужно находить. Номер договора, редкое обозначение детали, свободно сформулированная жалоба и устаревшая инструкция требуют разных способов поиска. Сравним три распространённых маршрута: точное совпадение слов, смысловые векторы и гибрид, который объединяет оба сигнала. Победителя для всех задач нет. Есть цена ошибки, особенности корпуса и возможность показать человеку основание ответа.

Один корпус, три вопроса

Представим папку сервисной компании: действующие инструкции, старые редакции, заявки и договоры. Сотрудник спрашивает: «Что написано в акте А-317 о замене датчика?» В этом запросе номер важнее похожего смысла. Второй вопрос: «Кому писать, если оборудование снова шумит после ремонта?» В документах может не быть слова «шумит», зато встречается «повторная вибрация после обслуживания». Здесь полезен смысловой поиск. Третий вопрос: «Можно ли обещать замену за один день?» Ответ зависит не от одного похожего абзаца, а от актуальной редакции договора и наличия запчасти. Никакое ранжирование не снимает проверку даты и условий.

Первое правило сравнения: исходный корпус у всех методов один и тот же. Если одной системе дать свежие PDF, а другой старую выгрузку, итог покажет качество подготовки, а не поиска. Документы разбивают на осмысленные фрагменты с сохранением названия, даты, версии и номера страницы. Слишком короткие куски теряют оговорки, слишком длинные вытесняют полезные совпадения. Такой подготовительный этап важен не меньше выбора алгоритма.

Точный поиск: силён там, где символы не заменяются смыслом

Классический полнотекстовый индекс хорошо находит номера, имена, редкие коды и словоформы, если настроена подходящая обработка языка. Его достоинство — ясное объяснение: запрос содержит «А-317», в найденном фрагменте есть «А-317». Поиск можно ограничить датой, типом документа и доступом сотрудника. Для аудита это удобно. Но он плохо справляется, если человек выражает проблему бытовыми словами, а инструкция использует профессиональный термин. Синонимы и словарь помогают, однако их нужно сопровождать и проверять.

Есть тонкая ошибка: слишком агрессивная нормализация способна стереть различие между кодами, например между «А-317» и «А 317». На этапе испытания создайте запросы с похожими идентификаторами, старым названием компании и опечаткой. Проверьте, не ставит ли индекс рядом чужой договор. Если ошибка может привести к разглашению или неверной цене, одного удобного верхнего результата недостаточно. Нужно показать совпавший фрагмент и дать возможность открыть оригинал.

Смысловой поиск: находит перефраз, но может ошибаться в деталях

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

Оценивать нужно выбранную модель представлений на собственном языке корпуса. Для русских заявок, смешанных англо-русских кодов и сканов одной популярности модели недостаточно. Сделайте небольшой набор из ста реальных вопросов без персональных данных и укажите для каждого допустимые документы. Добавьте вопросы без ответа в базе. Если поиск всегда возвращает что-то «похожее», интерфейс обязан позволять сказать «основания не найдено». В разборе памяти AtMem эта граница между находкой и достаточным доказательством особенно заметна.

Гибрид: страховка, а не волшебный средний балл

Гибридный подход собирает кандидатов из обоих каналов и объединяет ранги. Так номер договора не теряется из-за смысловой близости, а перефраз может пройти там, где точная форма отсутствует. Однако настройка весов и фильтров не делается одной кнопкой. Если фрагменты разных редакций одинаково похожи, гибрид тоже вернёт старую. Механизм выбора актуального документа должен быть отдельным: дата вступления в силу, статус утверждения, область действия и права доступа.

Для честного пилота измерьте не только «попал ли нужный документ в первые пять». Посмотрите, сколько раз система подняла запрещённый по правам файл, пропустила действующую редакцию, выдала соседний код или не смогла отказаться от ответа. Отдельно считайте время до подтверждённого человеком результата и стоимость индексации. Гибрид сложнее сопровождать: два индекса, обновления, расхождения между ними и больше точек отказа. Если корпус состоит из тысячи чётко размеченных инструкций с точными заголовками, полнотекстовый поиск может оказаться достаточным и дешевле.

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

Начните с семи запросов, которые сегодня не удаётся найти, и семи, где неверный ответ дорого стоит. Для каждого запишите нужный документ и причину, по которой он правильный. Запустите три маршрута на одном снимке корпуса. Если точный индекс находит все важные номера, а векторная часть улучшает только несколько свободных описаний, добавляйте её как второй канал. Если смысловые запросы составляют большинство, проверьте векторный маршрут, но оставьте жёсткие фильтры версии и доступа. Если база меняется ежедневно, стоимость повторной индексации может изменить решение сильнее небольшого прироста качества.

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

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

Векторная база обязательна для RAG? Нет. Ответ с подтверждённым фрагментом можно построить и на полнотекстовом индексе; выбор зависит от запросов.

Гибрид всегда точнее? Не обязательно. Плохо объединённые ранги способны поднять устаревшую или чужую запись.

Что делать с вопросом без ответа? Обучить маршрут возвращать отсутствие достаточного основания и передавать вопрос ответственному человеку.

Что измерять первым? Ошибки на собственных вопросах: нужный источник в верхних результатах, верная версия, отсутствие чужих документов и время до проверенного ответа.

Обзоры AtMem 2.3.10: память агента, в которой найденный фрагмент ещё не считается ответом Разбираем новую процедуру поиска в памяти агента: ограничения сеанса, проверку исходного фрагмента и разницу между найденной цитатой и разрешением действовать. Обзоры FreeToken 0.2.1: когда локальной модели нужны изображения, а не только текст Свежая версия локального движка добавила входные изображения для ряда GGUF-моделей. Показываем, зачем нужен отдельный mmproj-файл и как проверить, что сервер действительно видит картинку. Обзоры Фаззинг или формальное доказательство: что именно они подтверждают в коде Фаззинг ищет сбой на множестве входов, доказательство проверяет строго заданное свойство при явных допущениях. Показываем, как не перепутать эти гарантии. Обзоры Как ИИ помогает обучать робота в симуляции: разбор опыта Microduck В опыте с Microduck агенты подготовили полосу препятствий, а движение обучали отдельно в симуляторе. Разделяем вклад моделей, физики и человеческой проверки.
Опубликовано: 26 октября 09:15
← На главную