config.py 1.12 KB
"""Reranker service compatibility config derived from unified app config."""

from __future__ import annotations

from config.loader import get_app_config


class RerankerConfig(object):
    def __init__(self) -> None:
        app_config = get_app_config()
        runtime = app_config.runtime
        service = app_config.services.rerank
        backend = service.get_backend_config()
        request = service.request

        self.HOST = runtime.reranker_host
        self.PORT = runtime.reranker_port

        self.MODEL_NAME = str(backend.get("model_name") or "Qwen/Qwen3-Reranker-0.6B")
        self.DEVICE = backend.get("device")
        self.USE_FP16 = bool(backend.get("use_fp16", True))
        self.BATCH_SIZE = int(backend.get("batch_size", backend.get("infer_batch_size", 64)))
        self.MAX_LENGTH = int(backend.get("max_length", 512))
        self.CACHE_DIR = str(backend.get("cache_dir") or "./model_cache")
        self.ENABLE_WARMUP = bool(backend.get("enable_warmup", True))

        self.MAX_DOCS = int(request.get("max_docs", 1000))
        self.NORMALIZE = bool(request.get("normalize", True))


CONFIG = RerankerConfig()