From 15f8af8432a50d31df43975fd1ef9d1f793a855c Mon Sep 17 00:00:00 2001
From: maxyousif15 <max.yousif@15gifts.com>
Date: Mon, 19 Feb 2024 18:23:19 +0000
Subject: [PATCH] feat: adding support for open ai org id for the openai
 encoder

---
 semantic_router/encoders/openai.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/semantic_router/encoders/openai.py b/semantic_router/encoders/openai.py
index 7957f913..ead97f00 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}"
-- 
GitLab