Skip to content

Commit 7c9532b

Browse files
authored
fix broken serialization of HFAPI components (#7661)
1 parent 9446714 commit 7c9532b

9 files changed

+13
-8
lines changed

Diff for: haystack/components/embedders/hugging_face_api_document_embedder.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def to_dict(self) -> Dict[str, Any]:
175175
"""
176176
return default_to_dict(
177177
self,
178-
api_type=self.api_type,
178+
api_type=str(self.api_type),
179179
api_params=self.api_params,
180180
prefix=self.prefix,
181181
suffix=self.suffix,

Diff for: haystack/components/embedders/hugging_face_api_text_embedder.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def to_dict(self) -> Dict[str, Any]:
142142
"""
143143
return default_to_dict(
144144
self,
145-
api_type=self.api_type,
145+
api_type=str(self.api_type),
146146
api_params=self.api_params,
147147
prefix=self.prefix,
148148
suffix=self.suffix,

Diff for: haystack/components/generators/chat/hugging_face_api.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def to_dict(self) -> Dict[str, Any]:
158158
callback_name = serialize_callable(self.streaming_callback) if self.streaming_callback else None
159159
return default_to_dict(
160160
self,
161-
api_type=self.api_type,
161+
api_type=str(self.api_type),
162162
api_params=self.api_params,
163163
token=self.token.to_dict() if self.token else None,
164164
generation_kwargs=self.generation_kwargs,

Diff for: haystack/components/generators/hugging_face_api.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def to_dict(self) -> Dict[str, Any]:
142142
callback_name = serialize_callable(self.streaming_callback) if self.streaming_callback else None
143143
return default_to_dict(
144144
self,
145-
api_type=self.api_type,
145+
api_type=str(self.api_type),
146146
api_params=self.api_params,
147147
token=self.token.to_dict() if self.token else None,
148148
generation_kwargs=self.generation_kwargs,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
fixes:
3+
- |
4+
Fix the broken serialization of HuggingFaceAPITextEmbedder, HuggingFaceAPIDocumentEmbedder,
5+
HuggingFaceAPIGenerator, and HuggingFaceAPIChatGenerator.

Diff for: test/components/embedders/test_hugging_face_api_document_embedder.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def test_to_dict(self, mock_check_valid_model):
109109
assert data == {
110110
"type": "haystack.components.embedders.hugging_face_api_document_embedder.HuggingFaceAPIDocumentEmbedder",
111111
"init_parameters": {
112-
"api_type": HFEmbeddingAPIType.SERVERLESS_INFERENCE_API,
112+
"api_type": "serverless_inference_api",
113113
"api_params": {"model": "BAAI/bge-small-en-v1.5"},
114114
"token": {"env_vars": ["HF_API_TOKEN"], "strict": False, "type": "env_var"},
115115
"prefix": "prefix",

Diff for: test/components/embedders/test_hugging_face_api_text_embedder.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def test_to_dict(self, mock_check_valid_model):
9595
assert data == {
9696
"type": "haystack.components.embedders.hugging_face_api_text_embedder.HuggingFaceAPITextEmbedder",
9797
"init_parameters": {
98-
"api_type": HFEmbeddingAPIType.SERVERLESS_INFERENCE_API,
98+
"api_type": "serverless_inference_api",
9999
"api_params": {"model": "BAAI/bge-small-en-v1.5"},
100100
"token": {"env_vars": ["HF_API_TOKEN"], "strict": False, "type": "env_var"},
101101
"prefix": "prefix",

Diff for: test/components/generators/chat/test_hugging_face_api.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def test_to_dict(self, mock_check_valid_model):
138138
result = generator.to_dict()
139139
init_params = result["init_parameters"]
140140

141-
assert init_params["api_type"] == HFGenerationAPIType.SERVERLESS_INFERENCE_API
141+
assert init_params["api_type"] == "serverless_inference_api"
142142
assert init_params["api_params"] == {"model": "HuggingFaceH4/zephyr-7b-beta"}
143143
assert init_params["token"] == {"env_vars": ["ENV_VAR"], "strict": False, "type": "env_var"}
144144
assert init_params["generation_kwargs"] == {"temperature": 0.6, "stop": ["stop", "words"], "max_tokens": 512}

Diff for: test/components/generators/test_hugging_face_api.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def test_to_dict(self, mock_check_valid_model):
131131
result = generator.to_dict()
132132
init_params = result["init_parameters"]
133133

134-
assert init_params["api_type"] == HFGenerationAPIType.SERVERLESS_INFERENCE_API
134+
assert init_params["api_type"] == "serverless_inference_api"
135135
assert init_params["api_params"] == {"model": "HuggingFaceH4/zephyr-7b-beta"}
136136
assert init_params["token"] == {"env_vars": ["ENV_VAR"], "strict": False, "type": "env_var"}
137137
assert init_params["generation_kwargs"] == {

0 commit comments

Comments
 (0)