| 123456789101112131415161718192021222324252627282930 |
- """
- BGE-Reranker-v2-m3 重排序
- Cross-Encoder 精排,将 Top-20 精准压缩到 Top-5
- """
- from typing import Optional
- from app.core.config import get_settings
- settings = get_settings()
- class Reranker:
- def __init__(self, model_name: Optional[str] = None):
- self.model_name = model_name or settings.reranker_model
- self._model = None
- def _load_model(self):
- pass
- def rerank(
- self,
- query: str,
- documents: list[dict],
- top_k: int = 5,
- ) -> list[dict]:
- if not documents:
- return []
- sorted_docs = sorted(
- documents, key=lambda d: d.get("score", 0), reverse=True
- )
- return sorted_docs[:top_k]
|