Добавить в корзинуПозвонить
Найти в Дзене
SunN1nja

Как повысить точность RAG и поиска: строим Retrieve-and-Rerank конвейер с ZeroEntropy Zerank-2

Одной из главных проблем современных RAG-систем и семантического поиска остаётся качество поиска документов. Даже хорошие эмбеддинг-модели регулярно возвращают документы, которые выглядят похожими по смыслу, но на самом деле не содержат нужного ответа. Особенно заметно это становится в юридических системах, финансовой аналитике, поиске по документации и кодовым базам. Для решения этой проблемы всё чаще используется двухэтапный подход: В качестве такого cross-encoder можно использовать zeroentropy/zerank-2-reranker — 4-миллиардную модель на базе Qwen3, предназначенную для высокоточного ранжирования пар «запрос-документ». В этой статье разберём полный конвейер: от загрузки модели до построения полноценной retrieve-and-rerank системы с оценкой качества через NDCG@10. Для начала понадобятся библиотеки Sentence Transformers, Transformers и Accelerate. После загрузки модель готова принимать пары «запрос-документ» и определять, насколько документ соответствует запросу. Первый шаг — посмотреть
Оглавление
Как повысить точность RAG и поиска: строим Retrieve-and-Rerank конвейер с ZeroEntropy Zerank-2
Как повысить точность RAG и поиска: строим Retrieve-and-Rerank конвейер с ZeroEntropy Zerank-2

Одной из главных проблем современных RAG-систем и семантического поиска остаётся качество поиска документов.

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

Для решения этой проблемы всё чаще используется двухэтапный подход:

  1. Быстрый поиск кандидатов через bi-encoder.
  2. Повторная сортировка найденных документов через более мощный cross-encoder.

В качестве такого cross-encoder можно использовать zeroentropy/zerank-2-reranker — 4-миллиардную модель на базе Qwen3, предназначенную для высокоточного ранжирования пар «запрос-документ».

В этой статье разберём полный конвейер: от загрузки модели до построения полноценной retrieve-and-rerank системы с оценкой качества через NDCG@10.

Установка библиотек и загрузка модели

Для начала понадобятся библиотеки Sentence Transformers, Transformers и Accelerate.

Установка библиотек и загрузка модели
Установка библиотек и загрузка модели

После загрузки модель готова принимать пары «запрос-документ» и определять, насколько документ соответствует запросу.

Как работает оценка пары запрос-документ

Первый шаг — посмотреть, как reranker оценивает отдельные пары.

Как работает оценка пары запрос-документ
Как работает оценка пары запрос-документ

Модель возвращает логиты, которые затем преобразуются в вероятностные оценки.

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

Ранжирование нескольких ответов для одного запроса

Следующий сценарий намного ближе к реальному поиску.

Есть один запрос и несколько возможных ответов.

Ранжирование нескольких ответов для одного запроса
Ранжирование нескольких ответов для одного запроса

Здесь zerank-2 получает список кандидатов и самостоятельно определяет порядок релевантности ответов. Именно этот механизм используется в большинстве современных систем поиска и RAG.

Строим полноценный Retrieve → Rerank конвейер

На практике reranker редко работает самостоятельно.

Обычно используется двухэтапная схема:

Этап 1

Быстрый bi-encoder ищет наиболее похожие документы.

Этап 2

zerank-2 получает найденных кандидатов и выполняет более точное ранжирование.

Небольшой пример корпуса:

-5

Создаём эмбеддинги:

Создаём эмбеддинги
Создаём эмбеддинги

Функция двухэтапного поиска:

-7

Запуск поиска:

-8

Именно такая архитектура сегодня используется во многих production RAG-системах.

Измеряем качество через NDCG@10

Чтобы понять, действительно ли reranker улучшает качество поиска, нужна метрика.

Для оценки используется NDCG@10.

Подготавливается набор запросов с размеченными релевантными документами:

-9

Функции вычисления DCG и NDCG:

-10

После этого можно сравнить обычный bi-encoder и версию с reranking.

-11

Разница между этими значениями показывает реальный прирост качества после применения zerank-2.

Проверка на разных доменах

Одной из интересных особенностей zerank-2 является способность работать сразу в нескольких областях.

Для теста используются примеры из:

  • финансов;
  • юриспруденции;
  • программирования.
-12

Для каждого домена выбирается наиболее релевантный ответ:

-13

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

Производительность при пакетной обработке

Для production-систем важно не только качество, но и скорость.

Поэтому полезно измерить количество обрабатываемых пар в секунду.

-14

Такая проверка помогает оценить реальную стоимость использования reranker в продакшене.

Итоги

Двухэтапный подход Retrieve → Rerank остаётся одним из самых эффективных способов повышения качества поиска и RAG.

Быстрый bi-encoder позволяет моментально находить кандидатов среди тысяч или миллионов документов, а zerank-2 выступает в роли высокоточного фильтра, который выбирает действительно релевантные результаты.

В ходе построения конвейера были рассмотрены:

  • загрузка zeroentropy/zerank-2-reranker;
  • оценка отдельных пар запрос-документ;
  • ранжирование нескольких кандидатов;
  • создание двухэтапного поиска;
  • измерение качества через NDCG@10;
  • тестирование на финансах, праве и программировании;
  • проверка производительности при пакетной обработке.

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