diff --git a/semantic_router/encoders/openai.py b/semantic_router/encoders/openai.py index 7957f913b342b8fc8a13284783f38d3ca62ce176..ead97f00ddf51f66ca1712663acfde72a7d1b948 100644 --- a/semantic_router/encoders/openai.py +++ b/semantic_router/encoders/openai.py @@ -20,6 +20,7 @@ class OpenAIEncoder(BaseEncoder): self, name: Optional[str] = None, openai_api_key: Optional[str] = None, + openai_org_id: Optional[str] = None, score_threshold: float = 0.82, dimensions: Union[int, NotGiven] = NotGiven(), ): @@ -27,10 +28,13 @@ class OpenAIEncoder(BaseEncoder): name = os.getenv("OPENAI_MODEL_NAME", "text-embedding-ada-002") super().__init__(name=name, score_threshold=score_threshold) api_key = openai_api_key or os.getenv("OPENAI_API_KEY") - if api_key is None: + print(f"api key: {api_key}") + org_id = openai_org_id or os.getenv("OPENAI_ORGANIZATION") + print(f"org id: {org_id}") + if (api_key is None) and (org_id is None): raise ValueError("OpenAI API key cannot be 'None'.") try: - self.client = openai.Client(api_key=api_key) + self.client = openai.Client(api_key=api_key, organization=org_id) except Exception as e: raise ValueError( f"OpenAI API client failed to initialize. Error: {e}"