from typing import Any, Dict from haystack import Document from fastrag.rankers import IPEXBiEncoderSimilarityRanker class EndpointHandler: def __init__(self, path=""): model_id = "Intel/bge-large-en-v1.5-rag-int8-static" self.ranker = IPEXBiEncoderSimilarityRanker(model=model_id) self.ranker.warm_up() def __call__(self, data: Dict[str, Any]): query = data.get("query") documents = data.get("documents") top_k = data.get("top_k", None) documents = [Document.from_dict(doc) for doc in documents] return self.ranker.run(query, documents, top_k)