rag_perso / src /retrieval /reranker.py
ALBERT Clement
Initial RAG
c4bf3b5
Raw
History Blame Contribute Delete
377 Bytes
from sentence_transformers import CrossEncoder
model = CrossEncoder("cross-encoder/ms-marco-MiniLM-L-6-v2")
def rerank(query, documents, top_k=3):
pairs = [(query, doc["text"]) for doc in documents]
scores = model.predict(pairs)
ranked = sorted(
zip(documents, scores),
key=lambda x: x[1],
reverse=True
)
return ranked[:top_k]