Ponowne rankingowanie pobranych wyników
Zwiększ dokładność RAG, ponownie szeregując kandydatów z początkowego wyszukiwania wektorowego za pomocą modeli cross-encoder przed przekazaniem kontekstu do LLM-a.
Ponowne rankingowanie pobranych wyników to bezpłatna lekcja Vector Databases: Pinecone, Weaviate & pgvector na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Vector Databases: Pinecone, Weaviate & pgvector, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Vector Databases: Pinecone, Weaviate & pgvector zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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.
Często zadawane pytania
Czy lekcja „Ponowne rankingowanie pobranych wyników” jest bezpłatna?
Tak — pełny tekst „Ponowne rankingowanie pobranych wyników” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Vector Databases: Pinecone, Weaviate & pgvector, przejdź na CoddyKit PRO. Kurs Vector Databases: Pinecone, Weaviate & pgvector zawiera 4 lekcji w sumie.
Co nauczysz się w „Ponowne rankingowanie pobranych wyników”?
Zwiększ dokładność RAG, ponownie szeregując kandydatów z początkowego wyszukiwania wektorowego za pomocą modeli cross-encoder przed przekazaniem kontekstu do LLM-a. Ćwiczysz Vector Databases: Pinecone, Weaviate & pgvector z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Vector Databases: Pinecone, Weaviate & pgvector?
Nie wymagamy żadnego doświadczenia. Vector Databases: Pinecone, Weaviate & pgvector w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Ponowne rankingowanie pobranych wyników”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Vector Databases: Pinecone, Weaviate & pgvector?
Tak. Każda lekcja Vector Databases: Pinecone, Weaviate & pgvector zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Techniki transformacji zapytań
- Wieloetapowe potoki RAG
- Ocena wydajności systemu RAG
- Ponowne rankingowanie pobranych wyników