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

Критерий выбора

TL;DR

Сравните две модели на одном русском корпусе и одних запросах. Главный факт для выбора — какие разрешённые фрагменты оказываются в верхней части выдачи и подтверждают ответ.

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

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

Результат испытания формулируйте как решение для конкретного поиска: какую модель использовать для заданного корпуса, при каких ограничениях и какие запросы пока отдавать человеку. Вопросы построения всего контура освещает схема RAG-архитектуры. Здесь предмет уже: выбор модели векторизации и проверка её выдачи на русском языке. Вызов отдельной модели через Ollama решает задачу запуска; после такого запуска качество ещё предстоит сравнить.

Эталон запросов

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

  1. Зафиксируйте снимок корпуса и правила разбиения на фрагменты. Сохраните соответствие фрагмента исходному документу и его редакции.
  2. Для каждого вопроса укажите допустимые документы и конкретные подтверждающие фрагменты. Разметку сверяет владелец содержимого, а спорные совпадения обсуждаются вручную.
  3. Разделите запросы по ролям: общий сотрудник, профильный специалист и владелец документа. Сервер применяет разрешения до выдачи результатов каждому из них.
  4. Оставьте отдельную группу сложных запросов для приёмки. При настройке оставьте эту группу вне подбора разбиения и порогов.

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

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

Два кандидата

Для сопоставления можно взять BGE-M3 и multilingual-e5-large. Обе модели представлены авторами как многоязычные, а их карточка BGE-M3 и карточка multilingual-e5-large описывают разные требования к подготовке входа. Это кандидаты для пробного запуска; рейтинг для русского корпуса предстоит составить по результатам теста. Если внутри компании уже утверждена другая модель, включите её в тот же протокол вместо одного кандидата и зафиксируйте версию весов.

ПараметрBGE-M3multilingual-e5-large
Вход для поискаКарточка модели разрешает запрос без специальной инструкции.Карточка требует префикс query: для запроса и passage: для фрагмента.
Длинный текстКарточка указывает контекст до 8192 токенов; фактическое разбиение всё равно проверяют на своём корпусе.Пример в карточке обрезает вход до 512 токенов; полноту длинных фрагментов проверяют отдельно.
Размер вектораПо карточке — 1024 компонента.По карточке — 1024 компонента.

Общий размер вектора означает лишь совместимость настройки хранилища по размерности. Пространства разных моделей различаются, поэтому векторы одного фрагмента из BGE-M3 и multilingual-e5-large нельзя смешивать в одном сравнении близости. Для каждого кандидата получите эмбеддинги всех фрагментов и запросов одной версией модели. Зафиксируйте нормализацию, способ расчёта близости и параметры поисковой системы. Если используется дополнительная сортировка, либо отключите её на первом сравнении, либо оставьте одинаковой для обеих веток.

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

Оценка выдачи

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

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

Время отклика и объём ресурсов тоже входят в протокол, но измеряются в вашем окружении и при вашей нагрузке. Запишите конфигурацию, объём индекса и способ запуска, чтобы результаты можно было повторить. Сопоставляйте качество и эксплуатационные ограничения без придуманного универсального порога. Узкое место может лежать в очистке файлов, правилах доступа либо дополнительной сортировке; менять модель при такой причине бессмысленно. Разницу между первым поиском и повторной сортировкой показывает материал о реранкере.

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

● Discovery · 1 час · бесплатно

Хотите проверить выдачу на ваших русских документах?

Прийти на Discovery →

Смена индекса

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

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

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

// с чего начать

Выберите один русский корпус и согласуйте с его владельцем эталонные вопросы, роли и версии документов. Сначала получите воспроизводимую выдачу двух моделей, затем утверждайте смену индекса.

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

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

Какая embedding модель лучше для русского языка?
Универсального победителя нет. Сравните кандидатов на документах компании и размеченных русских запросах при одинаковых правилах разбиения, доступа и оценки выдачи.
Зачем нужны префиксы query: и passage: для E5?
В карточке multilingual-e5-large эти префиксы указаны для поиска запросов по фрагментам, включая тексты на языках кроме английского. Их применение фиксируют в протоколе и повторяют при индексации и поиске.
Можно ли сменить модель без пересчёта индекса?
Для смены модели пересчитайте векторы фрагментов и запросов одной версией новой модели. Совпадение размерности само по себе оставляет пространства векторов несовместимыми.
Кто проверяет качество найденных фрагментов?
Владелец документов размечает ожидаемые источники и подтверждает спорные совпадения. Сервер проверяет права доступа; модель только предлагает кандидатов для выдачи.
Что делать, если поиск пропускает длинный документ?
Проверьте извлечение текста, границы фрагментов и обрезку входа у модели. Затем повторите испытание на одинаково подготовленном корпусе для обоих кандидатов.