701ae503
tangwang
docs
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
"""
Rerank backends - pluggable implementations of the rerank protocol.
Each backend implements score_with_meta(query, docs, normalize) -> (scores, meta).
Service loads one backend via get_rerank_backend(name, config) from config.
"""
from __future__ import annotations
from typing import Any, Dict, List, Protocol, Tuple
class RerankBackendProtocol(Protocol):
"""Protocol for reranker backends (service-internal)."""
def score_with_meta(
self,
query: str,
docs: List[str],
normalize: bool = True,
) -> Tuple[List[float], Dict[str, Any]]:
"""
Input:
query: search query string
docs: list of documents, scores must align 1:1 with docs
normalize: whether to normalize scores (e.g. sigmoid)
Output:
scores: list same length as docs, same order
meta: at least input_docs, usable_docs, unique_docs, elapsed_ms
"""
...
def get_rerank_backend(name: str, config: Dict[str, Any]) -> RerankBackendProtocol:
"""
Factory: return a reranker backend instance for the given name and config.
Config is the corresponding block from services.rerank.backends.<name>.
"""
name = (name or "bge").strip().lower()
if name == "bge":
from reranker.backends.bge import BGERerankerBackend
return BGERerankerBackend(config)
if name == "qwen3_vllm":
from reranker.backends.qwen3_vllm import Qwen3VLLMRerankerBackend
return Qwen3VLLMRerankerBackend(config)
|
5c21a485
tangwang
qwen3-reranker-0....
|
59
60
61
62
63
64
65
66
|
gguf_config = dict(config or {})
gguf_config.setdefault("_backend_name", "qwen3_gguf")
return Qwen3GGUFRerankerBackend(gguf_config)
if name == "qwen3_gguf_06b":
from reranker.backends.qwen3_gguf import Qwen3GGUFRerankerBackend
gguf_config = dict(config or {})
gguf_config.setdefault("_backend_name", "qwen3_gguf_06b")
return Qwen3GGUFRerankerBackend(gguf_config)
|
4823f463
tangwang
qwen3_vllm_score ...
|
71
|
f"Unknown rerank backend: {name!r}. Supported: bge, qwen3_vllm, qwen3_vllm_score, qwen3_transformers, qwen3_transformers_packed, qwen3_gguf, qwen3_gguf_06b, dashscope_rerank"
|