Переранжирование извлечённых результатов
Повышайте точность RAG, переранжируя кандидатов начального векторного поиска с помощью моделей перекрёстного кодировщика до передачи контекста LLM.
«Переранжирование извлечённых результатов» — бесплатный урок Vector Databases: Pinecone, Weaviate & pgvector на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Vector Databases: Pinecone, Weaviate & pgvector, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Vector Databases: Pinecone, Weaviate & pgvector содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
The Reranking Idea
Vector search is fast but approximate. Reranking takes the top candidates and reorders them with a more accurate, slower model — the two-stage retrieve-then-rerank pattern.
Bi-Encoder vs Cross-Encoder
Bi-encoders embed query and document separately (fast, used for retrieval). Cross-encoders score query+document together (slow, far more accurate) — ideal for reranking a small set.
Two-Stage Pipeline
Step 1: retrieve top 50 with the vector DB. Step 2: rerank those 50, keep the top 5. You get cross-encoder quality at near vector-search speed.
candidates = vector_db.search(query, k=50)
ranked = reranker.rank(query, candidates)
top = ranked[:5]Using a Cross-Encoder
A cross-encoder takes pairs and outputs a relevance score. Higher means more relevant.
from sentence_transformers import CrossEncoder
model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')
scores = model.predict([(query, doc) for doc in candidates])Sorting by Score
Pair each document with its score and sort descending to produce the final order.
ranked = sorted(zip(candidates, scores), key=lambda x: x[1], reverse=True)
for doc, score in ranked[:5]:
print(round(score, 3), doc[:40])Hosted Reranking APIs
Services like Cohere Rerank and Jina offer hosted rerankers via API, removing the need to self-host a model.
POST /v1/rerank
{ "query": "...", "documents": [...], "top_n": 5 }Choosing Candidate Count
Retrieve enough candidates that the true best answer is in the set (high recall), but not so many that reranking gets slow. 20-100 is typical.
Latency Trade-offs
Reranking adds latency proportional to candidate count. Cache results, batch the cross-encoder calls, and tune the candidate count to your SLA.
Reranking + Filters
Apply metadata filters during retrieval, then rerank only the filtered set. This keeps the reranker focused on valid candidates.
Measuring the Gain
Compare nDCG or hit rate with and without reranking on a labeled set. Reranking commonly delivers a large accuracy boost on noisy corpora.
When to Skip It
If your corpus is small and clean, or latency is critical, plain vector search may suffice. Reranking pays off most on large, diverse datasets.
Quick Check
Test your reranking knowledge.
Recap
You learned the retrieve-then-rerank pattern, the difference between bi- and cross-encoders, how to score and sort candidates, and when reranking is worth its latency cost.
Часто задаваемые вопросы
Урок «Переранжирование извлечённых результатов» бесплатный?
Да — полный текст урока «Переранжирование извлечённых результатов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Vector Databases: Pinecone, Weaviate & pgvector, подпишись на CoddyKit PRO. Курс Vector Databases: Pinecone, Weaviate & pgvector содержит 4 уроков всего.
Чему я научусь в уроке «Переранжирование извлечённых результатов»?
Повышайте точность RAG, переранжируя кандидатов начального векторного поиска с помощью моделей перекрёстного кодировщика до передачи контекста LLM. Ты практикуешь Vector Databases: Pinecone, Weaviate & pgvector с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Vector Databases: Pinecone, Weaviate & pgvector?
Предыдущий опыт не требуется. Vector Databases: Pinecone, Weaviate & pgvector на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Переранжирование извлечённых результатов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Vector Databases: Pinecone, Weaviate & pgvector?
Да. Каждый урок Vector Databases: Pinecone, Weaviate & pgvector включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Методы преобразования запросов
- Многоэтапные конвейеры RAG
- Оценка производительности системы RAG
- Переранжирование извлечённых результатов