diff --git a/docs/06-threshold-optimization.ipynb b/docs/06-threshold-optimization.ipynb index ab46f3aba37644310837381475f30aa46ec3246f..cdb649fe17d6da2cd205cc5f656325036b43318a 100644 --- a/docs/06-threshold-optimization.ipynb +++ b/docs/06-threshold-optimization.ipynb @@ -194,7 +194,7 @@ " \"don't you love politics?\",\n", " \"how's the weather today?\",\n", " \"What's DNA?\",\n", - " \"I'm interested in learning about llama 2\"\n", + " \"I'm interested in learning about llama 2\",\n", "]:\n", " print(f\"{utterance} -> {rl(utterance).name}\")" ] diff --git a/docs/encoders/openai-embed-3.ipynb b/docs/encoders/openai-embed-3.ipynb index 70f8583476ffadaa36e1af70cf526f672f004bc3..c4a1ef01c963f7dfc2ead02c77fac7e16740ff66 100644 --- a/docs/encoders/openai-embed-3.ipynb +++ b/docs/encoders/openai-embed-3.ipynb @@ -130,9 +130,7 @@ ")\n", "\n", "encoder = OpenAIEncoder(\n", - " name=\"text-embedding-3-large\",\n", - " score_threshold=0.5,\n", - " dimensions=256\n", + " name=\"text-embedding-3-large\", score_threshold=0.5, dimensions=256\n", ")" ] }, diff --git a/semantic_router/encoders/openai.py b/semantic_router/encoders/openai.py index 7ed4746c5c1fe467dcd39f166b2be0a85af3fbf9..7957f913b342b8fc8a13284783f38d3ca62ce176 100644 --- a/semantic_router/encoders/openai.py +++ b/semantic_router/encoders/openai.py @@ -1,9 +1,10 @@ import os from time import sleep -from typing import List, Optional +from typing import List, Optional, Union import openai from openai import OpenAIError +from openai._types import NotGiven from openai.types import CreateEmbeddingResponse from semantic_router.encoders import BaseEncoder @@ -12,7 +13,7 @@ from semantic_router.utils.logger import logger class OpenAIEncoder(BaseEncoder): client: Optional[openai.Client] - dimensions: Optional[int] = None + dimensions: Union[int, NotGiven] = NotGiven() type: str = "openai" def __init__( @@ -20,7 +21,7 @@ class OpenAIEncoder(BaseEncoder): name: Optional[str] = None, openai_api_key: Optional[str] = None, score_threshold: float = 0.82, - dimensions: Optional[int] = None, + dimensions: Union[int, NotGiven] = NotGiven(), ): if name is None: name = os.getenv("OPENAI_MODEL_NAME", "text-embedding-ada-002")