From e2cee468fcb5a77ab5e97ac9102058c23a3ea63f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tuana=20=C3=87elik?= Date: Thu, 15 Feb 2024 17:35:28 +0100 Subject: [PATCH] fix: Adding `api_base_url` to `OpenAITextEmbeder` self assignments (#7004) * assigning api_base_url This fix resolves issues with the MistralTextEmbedder integration * adding base url to `to_dict` and the tests * adding release note * Update fix-openai-base-url-assignment-0570a494d88fe365.yaml --------- Co-authored-by: Stefano Fiorucci --- haystack/components/embedders/openai_text_embedder.py | 2 ++ .../fix-openai-base-url-assignment-0570a494d88fe365.yaml | 5 +++++ test/components/embedders/test_openai_text_embedder.py | 6 ++++++ 3 files changed, 13 insertions(+) create mode 100644 releasenotes/notes/fix-openai-base-url-assignment-0570a494d88fe365.yaml diff --git a/haystack/components/embedders/openai_text_embedder.py b/haystack/components/embedders/openai_text_embedder.py index 5d30bccf4..b33d7ffdf 100644 --- a/haystack/components/embedders/openai_text_embedder.py +++ b/haystack/components/embedders/openai_text_embedder.py @@ -52,6 +52,7 @@ class OpenAITextEmbedder: """ self.model = model self.dimensions = dimensions + self.api_base_url = api_base_url self.organization = organization self.prefix = prefix self.suffix = suffix @@ -69,6 +70,7 @@ class OpenAITextEmbedder: return default_to_dict( self, model=self.model, + api_base_url=self.api_base_url, organization=self.organization, prefix=self.prefix, suffix=self.suffix, diff --git a/releasenotes/notes/fix-openai-base-url-assignment-0570a494d88fe365.yaml b/releasenotes/notes/fix-openai-base-url-assignment-0570a494d88fe365.yaml new file mode 100644 index 000000000..6959e7493 --- /dev/null +++ b/releasenotes/notes/fix-openai-base-url-assignment-0570a494d88fe365.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Adds `api_base_url` attribute to `OpenAITExtEmbedder`. + Previously, it was used only for initialization and was not serialized. diff --git a/test/components/embedders/test_openai_text_embedder.py b/test/components/embedders/test_openai_text_embedder.py index 3a1e747f6..2990993d3 100644 --- a/test/components/embedders/test_openai_text_embedder.py +++ b/test/components/embedders/test_openai_text_embedder.py @@ -13,6 +13,7 @@ class TestOpenAITextEmbedder: assert embedder.client.api_key == "fake-api-key" assert embedder.model == "text-embedding-ada-002" + assert embedder.api_base_url == None assert embedder.organization is None assert embedder.prefix == "" assert embedder.suffix == "" @@ -21,12 +22,14 @@ class TestOpenAITextEmbedder: embedder = OpenAITextEmbedder( api_key=Secret.from_token("fake-api-key"), model="model", + api_base_url="https://my-custom-base-url.com", organization="fake-organization", prefix="prefix", suffix="suffix", ) assert embedder.client.api_key == "fake-api-key" assert embedder.model == "model" + assert embedder.api_base_url == "https://my-custom-base-url.com" assert embedder.organization == "fake-organization" assert embedder.prefix == "prefix" assert embedder.suffix == "suffix" @@ -44,6 +47,7 @@ class TestOpenAITextEmbedder: "type": "haystack.components.embedders.openai_text_embedder.OpenAITextEmbedder", "init_parameters": { "api_key": {"env_vars": ["OPENAI_API_KEY"], "strict": True, "type": "env_var"}, + "api_base_url": None, "dimensions": None, "model": "text-embedding-ada-002", "organization": None, @@ -57,6 +61,7 @@ class TestOpenAITextEmbedder: component = OpenAITextEmbedder( api_key=Secret.from_env_var("ENV_VAR", strict=False), model="model", + api_base_url="https://my-custom-base-url.com", organization="fake-organization", prefix="prefix", suffix="suffix", @@ -66,6 +71,7 @@ class TestOpenAITextEmbedder: "type": "haystack.components.embedders.openai_text_embedder.OpenAITextEmbedder", "init_parameters": { "api_key": {"env_vars": ["ENV_VAR"], "strict": False, "type": "env_var"}, + "api_base_url": "https://my-custom-base-url.com", "model": "model", "dimensions": None, "organization": "fake-organization",