Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Движок реранкинга

Реранкинг — это опциональный второй этап извлечения, который переупорядочивает кандидатные результаты с помощью специализированной модели cross-encoder. Хотя извлечение на основе эмбеддингов работает быстро, оно оперирует предварительно вычисленными векторами, которые могут не захватывать точную релевантность. Реранкинг применяет более мощную модель к меньшему набору кандидатов, значительно улучшая точность.

Принцип работы

  1. Первый этап (извлечение): Поиск по векторному сходству возвращает широкий набор кандидатов (например, топ-50).
  2. Второй этап (реранкинг): Модель cross-encoder оценивает каждого кандидата относительно запроса, создавая уточнённое ранжирование.
  3. Финальный результат: Топ-k переранжированных результатов возвращается вызывающей стороне.
mermaid
graph LR
    QUERY["Запрос извлечения"] --> EMBED["Поиск по эмбеддингам<br/>Топ-50 кандидатов"]
    EMBED --> RERANK["Реранкер<br/>Оценка cross-encoder"]
    RERANK --> RESULTS["Переранжированный топ-K"]

Зачем нужен реранкинг

МетрикаБез реранкингаС реранкингом
Охват recallВысокий (широкое извлечение)Тот же (без изменений)
Точность в топ-5УмереннаяЗначительно улучшена
ЗадержкаМеньше (~50 мс)Выше (~150 мс дополнительно)
Стоимость APIТолько эмбеддингиЭмбеддинги + реранкинг

Реранкинг наиболее ценен когда:

  • База памяти большая (1000+ записей).
  • Запросы неоднозначны или на естественном языке.
  • Точность в начале списка результатов важнее задержки.

Поддерживаемые провайдеры

ПровайдерЗначение конфигаОписание
JinaPRX_RERANK_PROVIDER=jinaМодели реранкера Jina AI
CoherePRX_RERANK_PROVIDER=cohereAPI реранкинга Cohere
PineconePRX_RERANK_PROVIDER=pineconeСервис реранкинга Pinecone
Pinecone-совместимыйPRX_RERANK_PROVIDER=pinecone-compatibleПользовательские Pinecone-совместимые эндпоинты
НетPRX_RERANK_PROVIDER=noneОтключить реранкинг

Конфигурация

bash
PRX_RERANK_PROVIDER=cohere
PRX_RERANK_API_KEY=your_cohere_key
PRX_RERANK_MODEL=rerank-v3.5

Резервные ключи провайдеров

Если PRX_RERANK_API_KEY не установлен, система откатывается к ключам, специфичным для провайдера:

  • Jina: JINA_API_KEY
  • Cohere: COHERE_API_KEY
  • Pinecone: PINECONE_API_KEY

Отключение реранкинга

Чтобы работать без реранкинга, либо опустите переменную PRX_RERANK_PROVIDER, либо установите её явно:

bash
PRX_RERANK_PROVIDER=none

Извлечение по-прежнему работает с использованием лексического сопоставления и векторного сходства без этапа реранкинга.

Следующие шаги

Released under the Apache-2.0 License.