From 05507ff375c17dce0d440500d681a9b49a1a069e Mon Sep 17 00:00:00 2001 From: Ismail Ashraq <issey1455@gmail.com> Date: Tue, 9 Jan 2024 18:28:29 +0500 Subject: [PATCH] added option to set sparse_encoder --- semantic_router/hybrid_layer.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/semantic_router/hybrid_layer.py b/semantic_router/hybrid_layer.py index cd9f7ccb..5273f531 100644 --- a/semantic_router/hybrid_layer.py +++ b/semantic_router/hybrid_layer.py @@ -16,11 +16,21 @@ class HybridRouteLayer: score_threshold: float def __init__( - self, encoder: BaseEncoder, routes: list[Route] = [], alpha: float = 0.3 + self, + encoder: BaseEncoder, + sparse_encoder: BM25Encoder | None = None, + routes: list[Route] = [], + alpha: float = 0.3, ): self.encoder = encoder self.score_threshold = self.encoder.score_threshold - self.sparse_encoder = BM25Encoder() + + if sparse_encoder is None: + logger.warning("No sparse_encoder provided. Using default BM25Encoder.") + self.sparse_encoder = BM25Encoder() + else: + self.sparse_encoder = sparse_encoder + self.alpha = alpha # if routes list has been passed, we initialize index now if routes: -- GitLab