From 1f930a5f8f10e687e690490da9388d4f4c7b6c56 Mon Sep 17 00:00:00 2001 From: Siraj R Aizlewood <siraj@aurelio.ai> Date: Sun, 29 Sep 2024 22:19:05 +0400 Subject: [PATCH] Update layer.py Following a request to be able to update route thresholds directly without having to fit. --- semantic_router/layer.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/semantic_router/layer.py b/semantic_router/layer.py index bed1ef28..6c9950ff 100644 --- a/semantic_router/layer.py +++ b/semantic_router/layer.py @@ -832,6 +832,22 @@ class RouteLayer: def _get_route_names(self) -> List[str]: return [route.name for route in self.routes] + + def update_route_thresholds(self, threshold_dict: Dict[str, float]): + """ + Update thresholds for specified routes. + + :param threshold_dict: A dictionary mapping route names to new threshold values. + :type threshold_dict: Dict[str, float] + """ + for route_name, new_threshold in threshold_dict.items(): + route = self.get(route_name) + if route: + old_threshold = route.score_threshold + route.score_threshold = new_threshold + logger.info(f"Updated threshold for route '{route_name}' from {old_threshold} to {new_threshold}") + else: + logger.warning(f"Route '{route_name}' not found. Skipping threshold update.") def threshold_random_search( -- GitLab