Поиск по словам не находит
Сотрудник ищет «отпуск за свой счёт», а в документе написано «отпуск без сохранения заработной платы». Полнотекстовый поиск молчит, и вопрос уходит коллеге.
Семантический поиск находит документ по смыслу вопроса, а не по совпадению слов: запрос «как оформить командировку» находит и «порядок направления в служебную поездку». Мы разрабатываем такой поиск на заказ: разбор ваших документов, гибрид смыслового и полнотекстового поиска, права доступа внутри индекса и замер качества на реальных вопросах сотрудников. Нужен ли поверх него ответ языковой модели, решаете вы; поиск, который показывает источник, нужен в любом случае.
Обследование — от 200 000 ₽, 2–3 неделиПрава доступа действуют в индексе, а не после выдачиКачество меряем на ваших вопросах и документах
Сотрудник ищет «отпуск за свой счёт», а в документе написано «отпуск без сохранения заработной платы». Полнотекстовый поиск молчит, и вопрос уходит коллеге.
Общий диск, вики, почта, вложения в 1С, папки отделов. Единого поиска нет, и каждый знает только свою папку.
Поиск выдаёт длинный список файлов, а нужный абзац лежит внутри одного из них. Приходится читать документ целиком.
Ответ без ссылки на источник проверить нельзя. Мы начинаем с поиска, который показывает источник, а ответ модели добавляем, если он действительно нужен.
Какой режим нужен, показывает замер на ваших вопросах, а не вкус исполнителя. Ассистента, который отвечает по найденным фрагментам, описывает страница ИИ-ассистента по документам.
Качество поиска закладывается до первого запроса, при подготовке документов.
Из Word и PDF с текстовым слоем текст достаётся напрямую, скан сначала распознаётся (смотрите интеллектуальную обработку документов). Таблицы и колонки часто дают мусор: в двухколоночном PDF порядок чтения легко сбивается, и фрагмент склеивается из двух разных мест.
Документ режется на куски. Слишком мелкие теряют контекст, слишком крупные размывают смысл. Мы режем по структуре (заголовки, пункты, абзацы), а не по числу знаков, и к каждому фрагменту прикладываем заголовок раздела и название документа. Размер подбираем замером на ваших вопросах.
Тип документа, подразделение, дата, версия, статус («действует» или «утратил силу»), уровень доступа. По ним фильтруют и сортируют, а без них поиск легко возвращает отменённый регламент.
Фрагмент превращается в вектор открытой многоязычной моделью эмбеддингов, которая работает на вашем сервере (например, из семейств E5 или BGE). На русском с профессиональной лексикой модели ведут себя по-разному, поэтому кандидатов сравниваем на ваших документах. Векторы лежат в pgvector, Qdrant или Weaviate: выбор зависит от объёма и от того, что уже есть в вашей инфраструктуре, подробнее в статье о векторных базах. Облачные сервисы вроде Pinecone остаются внешними, и для документов ограниченного доступа они чаще не подходят по требованиям заказчика.
Один приказ в трёх копиях вытесняет из выдачи остальное. Дубли находим по содержанию, устаревшую версию понижаем или скрываем.
Заготовка для разбора: на ваших системах строки будут другими, вопросы те же.
Видеть фрагмент закрытого документа тоже значит получить его содержимое. Поэтому права должны работать в момент поиска.
Проверка при приёмке: из-под каждой роли ищем фразы из закрытых документов и убеждаемся, что их нет ни в списке, ни в подсказках, ни в счётчиках. Тот же принцип описан для личных кабинетов на странице разработки личного кабинета.
Поиск без генерации ответа — законный и часто достаточный результат.
Умный поиск без замера остаётся демонстрацией. Для замера нужны вопросы и правильные ответы к ним.
Собираем настоящие вопросы сотрудников: из обращений в поддержку, из рабочих чатов, из журнала старого поиска. Для каждого эксперт отмечает документы и фрагменты, где лежит ответ. Начинаем с нескольких десятков вопросов и расширяем набор по ходу работы.
Один набор вопросов прогоняется через полнотекстовый, смысловой и гибридный поиск, с переранжированием и без. Режим выбираем по цифрам. Сами цифры называются на вашем наборе, заранее мы их не обещаем.
Журнал запросов показывает, что искали и где ничего не нашли: запросы без результата превращаются в список недостающих документов. Набор вопросов остаётся регрессионным тестом при смене модели или настроек. Как устроена цепочка «поиск, затем ответ», описано в статье о RAG-пайплайне.
Индекс обновляется по событию или по расписанию. Изменённый документ переиндексируется, старая версия получает статус и уходит вниз выдачи.
Удалённый или отозванный документ пропадает из выдачи в срок, записанный в регламенте. Иначе поиск показывает то, чего в источнике уже нет.
Векторы разных моделей несовместимы, поэтому смена модели означает пересчёт индекса. Строим его так, чтобы пересчёт шёл параллельно, а переключение не останавливало поиск.
Время ответа, число запросов без результата, расхождение с источником, ошибки чтения файлов. Оповещение приходит, когда что-то выходит за согласованные пределы.
Цены — по тарифам. Цена называется по итогам обследования, остановиться можно после любой ступени, сделанное остаётся у вас по акту.
Источники, права, виды вопросов. На выходе описание источников и прав, набор вопросов для замера и вилка бюджета. Вычитается из первого этапа, если продолжаете с нами.
Диск, вики, 1С, почта и права из каталога пользователей. На выходе схема потоков документов и матрица источников.
Индекс одного источника, гибридный поиск, простой интерфейс, замер на вашем наборе вопросов. Права на уровне подразделений.
Несколько источников, права из каталога пользователей, встраивание в портал или 1С, при необходимости ответ с цитатой, журнал запросов.
Все источники, нагрузочная проверка, мониторинг, регламент обновления индекса, обучение администраторов.
Контроль качества на свежих вопросах, обновление индекса и правил, разбор инцидентов. Сверх пакета — 5 000 ₽ в час.
Источники и их владельцы, права, состав вопросов, ограничения безопасности. Решаем, нужен ли ответ модели или хватит выдачи.
Вместе с вашими экспертами собираем реальные вопросы и отмечаем правильные документы. Это эталон для всех замеров.
Индекс одного источника, сравнение режимов поиска на вашем наборе, показ результата и ошибок.
Остальные источники, права из каталога пользователей, интерфейс или встраивание в вашу систему. Начинаем с одного подразделения и смотрим журнал запросов.
Новые источники и виды выдачи добавляются этапами с отдельной приёмкой.
Дубли, сканы, таблицы и документы без статуса берут первые недели. У каждого источника свой способ доступа и свой владелец.
Общий доступ для всех сотрудников дешевле, чем права по подразделениям и документам из каталога пользователей, которые проверяются отдельным прогоном.
Число документов и частота изменений определяют нагрузку на переиндексацию и размер хранилища. Мощность оборудования считаем на обследовании, закупаете её вы.
Список с фрагментами проще. Ответ с цитатой добавляет модель, проверки и эталонные вопросы для регулярной оценки.
Если пользователю нужен документ или абзац, достаточно поиска. Если нужен связный ответ с цитатами из нескольких документов, поверх поиска добавляется языковая модель: это RAG-система и ИИ-ассистент по документам. Поиск в этом случае остаётся основой, и его качество определяет качество ответов.
Если документ нужно не найти, а разобрать на поля (счёт, договор, акт), это интеллектуальная обработка документов. Если искать нужно в расшифровках звонков, смотрите речевую аналитику. Общая картина — на страницах LLM-приложений и разработки ИИ на заказ.
Типовые задачи разобраны в материалах о поиске по технической документации и по регламентам в закрытом контуре: это разборы, а не описание выполненных проектов.
Чем отличается поиск по смыслу от поиска по словам, из каких частей он состоит и в каких случаях обычный поиск лучше.
pgvector, Qdrant, Weaviate: по каким критериям выбирать хранилище векторов и что проверить до решения.
Что такое эмбеддинг и зачем хранилище векторов, где без него можно обойтись.
Сорок минут созвона: где лежат документы, что ищут сотрудники и кому что нельзя видеть. По итогам скажем, с какой ступени начинать и в какую вилку это укладывается.
Обследование стоит 200 000 ₽ за одну базу документов и 350 000 ₽ при нескольких источниках. Лёгкий пилот — 150 000–400 000 ₽, тяжёлый — 400 000–1 200 000 ₽, вывод в эксплуатацию от 1 500 000 ₽ этапами по 300 000–700 000 ₽. Точная цена называется после обследования, оно вычитается из первого этапа, если продолжаете с нами.
Обследование — 2–3 недели при одном источнике и 3–4 недели при нескольких. Лёгкий пилот занимает 2–8 недель, тяжёлый 2–3 месяца, вывод в эксплуатацию от трёх месяцев. Сроки зависят от состояния документов и от того, насколько просто получить права доступа.
Обычный поиск ищет слова и их формы, семантический ищет близость смысла. Первый точнее находит номера и точные формулировки, второй находит документы, написанные другими словами. На практике чаще всего собирают гибрид, а пропорцию подбирают по набору ваших вопросов.
Не обязательно. Для смыслового поиска нужна модель эмбеддингов, она небольшая и запускается на вашем сервере. Языковая модель нужна, если вы хотите получать связный ответ с цитатой, а не список документов. Решаем это на обследовании.
Права хранятся вместе с фрагментами, и запрос к индексу содержит условие по пользователю. Источник прав — ваш каталог пользователей. При приёмке из-под каждой роли ищем фразы из закрытых документов и проверяем выдачу, подсказки и счётчики.
Да, это основной вариант. Индекс, модели эмбеддингов и при необходимости языковая модель работают на вашем оборудовании или в вашем облаке. Облачные поисковые и векторные сервисы для документов ограниченного доступа чаще не подходят по требованиям заказчика.
На наборе реальных вопросов сотрудников, к каждому из которых эксперт отметил правильные документы. Смотрим, на каком месте в выдаче стоит нужный документ, и сравниваем режимы поиска. Цифры называем после замера на вашем наборе, заранее не обещаем.
Исходный код лежит в вашем репозитории с первого коммита. Результат работ (исходный код, конфигурации, индекс, дообученные модели) передаётся вам по акту, открытые компоненты остаются под своими лицензиями, их список входит в документацию. Сопровождение: 20 000, 60 000 или 120 000 ₽ в месяц, сверх пакета 5 000 ₽ в час.
Мы в Ростове-на-Дону, работаем с заказчиками по всей России: удалённо и в вашем контуре. Доступ к системам и обследование согласуем на старте с вашей службой безопасности.