diff --git a/semantic_router/encoders/huggingface.py b/semantic_router/encoders/huggingface.py index 56a3b685b90c82add9e422a346b339e82bbfd156..24bd5cd044c09bd8c2de2c5836ad8d79fc6204f8 100644 --- a/semantic_router/encoders/huggingface.py +++ b/semantic_router/encoders/huggingface.py @@ -150,7 +150,7 @@ class HFEndpointEncoder(BaseEncoder): score_threshold (float): A threshold value used for filtering or processing the embeddings. """ - name: Optional[str] = "hugging_face_custom_endpoint" + name: str = "hugging_face_custom_endpoint" huggingface_url: Optional[str] = None huggingface_api_key: Optional[str] = None score_threshold: float = 0.8 @@ -181,17 +181,15 @@ class HFEndpointEncoder(BaseEncoder): huggingface_url = huggingface_url or os.getenv("HF_API_URL") huggingface_api_key = huggingface_api_key or os.getenv("HF_API_KEY") + super().__init__(name=name, score_threshold=score_threshold) # type: ignore + if huggingface_url is None: raise ValueError("HuggingFace endpoint url cannot be 'None'.") if huggingface_api_key is None: raise ValueError("HuggingFace API key cannot be 'None'.") - super().__init__( - name=name, - huggingface_url=huggingface_url, - huggingface_api_key=huggingface_api_key, - score_threshold=score_threshold, - ) + self.huggingface_url = huggingface_url or os.getenv("HF_API_URL") + self.huggingface_api_key = huggingface_api_key or os.getenv("HF_API_KEY") try: self.query({"inputs": "Hello World!", "parameters": {}}) diff --git a/semantic_router/encoders/tfidf.py b/semantic_router/encoders/tfidf.py index 0809b5ad467fabac693aae234eb28cb51b0991a0..77069da2b89dafbbd05a9a95bc4d10bbee15a449 100644 --- a/semantic_router/encoders/tfidf.py +++ b/semantic_router/encoders/tfidf.py @@ -35,7 +35,7 @@ class TfidfEncoder(BaseEncoder): docs = [] for route in routes: for doc in route.utterances: - docs.append(self._preprocess(doc)) + docs.append(self._preprocess(doc)) # type: ignore self.word_index = self._build_word_index(docs) self.idf = self._compute_idf(docs) diff --git a/semantic_router/layer.py b/semantic_router/layer.py index 39232c69955ece223221fe8ce22da85d07cbb18d..21c0da2766cd265a632d0e92e370c2a46a509bbd 100644 --- a/semantic_router/layer.py +++ b/semantic_router/layer.py @@ -5,7 +5,7 @@ import random from typing import Any, Dict, List, Optional, Tuple, Union import numpy as np -import yaml +import yaml # type: ignore from tqdm.auto import tqdm from semantic_router.encoders import BaseEncoder, OpenAIEncoder @@ -328,7 +328,7 @@ class RouteLayer: def add(self, route: Route): logger.info(f"Adding `{route.name}` route") # create embeddings - embeds = self.encoder(route.utterances) + embeds = self.encoder(route.utterances) # type: ignore # if route has no score_threshold, use default if route.score_threshold is None: route.score_threshold = self.score_threshold @@ -337,7 +337,7 @@ class RouteLayer: self.index.add( embeddings=embeds, routes=[route.name] * len(route.utterances), - utterances=route.utterances, + utterances=route.utterances, # type: ignore ) self.routes.append(route) @@ -383,14 +383,14 @@ class RouteLayer: all_utterances = [ utterance for route in routes for utterance in route.utterances ] - embedded_utterances = self.encoder(all_utterances) + embedded_utterances = self.encoder(all_utterances) # type: ignore # create route array route_names = [route.name for route in routes for _ in route.utterances] # add everything to the index self.index.add( embeddings=embedded_utterances, routes=route_names, - utterances=all_utterances, + utterances=all_utterances, # type: ignore ) def _encode(self, text: str) -> Any: