diff --git a/.fern/metadata.json b/.fern/metadata.json index fd4e63ecd..4b54a48a6 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -97,7 +97,7 @@ "originGitCommit": "cc4f564d58fa6fbe43292b5ea6bca57aac51946b", "originGitCommitIsDirty": true, "invokedBy": "ci", - "requestedVersion": "7.0.3", + "requestedVersion": "7.0.4", "ciProvider": "github", - "sdkVersion": "7.0.3" + "sdkVersion": "7.0.4" } \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 54e1bf328..ade050db7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "cohere" -version = "7.0.3" +version = "7.0.4" description = "" readme = "README.md" authors = [] diff --git a/src/cohere/core/client_wrapper.py b/src/cohere/core/client_wrapper.py index ab31adf11..437373480 100644 --- a/src/cohere/core/client_wrapper.py +++ b/src/cohere/core/client_wrapper.py @@ -31,12 +31,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "cohere/7.0.3", + "User-Agent": "cohere/7.0.4", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "cohere", - "X-Fern-SDK-Version": "7.0.3", + "X-Fern-SDK-Version": "7.0.4", **(self.get_custom_headers() or {}), } if self._client_name is not None: diff --git a/src/cohere/utils.py b/src/cohere/utils.py index 40b43fbd6..1a23d4b0e 100644 --- a/src/cohere/utils.py +++ b/src/cohere/utils.py @@ -188,6 +188,9 @@ def merge_meta_field(metas: typing.List[ApiMeta]) -> ApiMeta: def merge_embed_responses(responses: typing.List[EmbedResponse]) -> EmbedResponse: + if not responses: + raise ValueError("Cannot merge embed responses: no texts were provided to embed") + meta = merge_meta_field([response.meta for response in responses if response.meta]) response_id = ", ".join(response.id for response in responses) texts = [ diff --git a/tests/test_embed_utils.py b/tests/test_embed_utils.py index eff5e90bc..b522fc576 100644 --- a/tests/test_embed_utils.py +++ b/tests/test_embed_utils.py @@ -189,6 +189,12 @@ def test_merge_embeddings_floats(self) -> None: ) )) + def test_merge_embed_responses_empty_list_raises_value_error(self) -> None: + # An empty texts list (e.g. Client.embed(texts=[])) yields no responses; + # merge_embed_responses must raise a clear ValueError instead of IndexError. + with self.assertRaises(ValueError): + merge_embed_responses([]) + def test_merge_embeddings_by_type_with_none_field_in_later_response(self) -> None: resp1 = EmbeddingsByTypeEmbedResponse( response_type="embeddings_by_type", id="1",