| from crom_efficientllm.rerank_engine.rerank import hybrid_rerank | |
| class Dummy: | |
| def encode(self, text_or_list, convert_to_numpy=False): | |
| if isinstance(text_or_list, list): | |
| return [self.encode(t) for t in text_or_list] | |
| vec = [ord(c) % 5 for c in str(text_or_list)[:8]] | |
| while len(vec) < 8: | |
| vec.append(0) | |
| return vec | |
| def test_hybrid_rerank_returns_scores(): | |
| docs = [{"text": "alpha"}, {"text": "beta"}] | |
| out = hybrid_rerank("alp", docs, Dummy(), alpha=0.5) | |
| assert len(out) == 2 | |
| assert {"score_sparse", "score_dense", "score_final"} <= set(out[0].keys()) | |