This is an automated email from the ASF dual-hosted git repository.

amoghdesai pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new ee97bc60bde Clarify why `EmbedByTypeResponseEmbeddings` return type is 
ommitted (#51517)
ee97bc60bde is described below

commit ee97bc60bdea5cffb7cc42cff1996fe5d7523287
Author: Amogh Desai <[email protected]>
AuthorDate: Mon Jun 9 14:03:33 2025 +0530

    Clarify why `EmbedByTypeResponseEmbeddings` return type is ommitted (#51517)
---
 providers/cohere/src/airflow/providers/cohere/hooks/cohere.py     | 6 ++++++
 .../cohere/src/airflow/providers/cohere/operators/embedding.py    | 8 ++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/providers/cohere/src/airflow/providers/cohere/hooks/cohere.py 
b/providers/cohere/src/airflow/providers/cohere/hooks/cohere.py
index bfaba2d658a..ccfdd4b178e 100644
--- a/providers/cohere/src/airflow/providers/cohere/hooks/cohere.py
+++ b/providers/cohere/src/airflow/providers/cohere/hooks/cohere.py
@@ -100,6 +100,12 @@ class CohereHook(BaseHook):
             embedding_types=["float"],
             request_options=self.request_options,
         )
+        # NOTE: Return type `EmbedByTypeResponseEmbeddings` was removed 
temporarily due to limitations
+        # in XCom serialization/deserialization of complex types like Cohere 
embeddings and Pydantic models.
+        #
+        # Tracking issue: https://github.com/apache/airflow/issues/50867
+        # Once that issue is resolved, XCom (de)serialization of such types 
will be supported and
+        # we can safely restore the `EmbedByTypeResponseEmbeddings` return 
type here.
         if response.embeddings.float_ is None:
             raise ValueError("Embeddings response is missing float_ field")
         return response.embeddings.float_
diff --git 
a/providers/cohere/src/airflow/providers/cohere/operators/embedding.py 
b/providers/cohere/src/airflow/providers/cohere/operators/embedding.py
index 1504858fc21..a196ca624f5 100644
--- a/providers/cohere/src/airflow/providers/cohere/operators/embedding.py
+++ b/providers/cohere/src/airflow/providers/cohere/operators/embedding.py
@@ -93,6 +93,10 @@ class CohereEmbeddingOperator(BaseOperator):
     def execute(self, context: Context) -> list[list[float]]:
         """Embed texts using Cohere embed services."""
         embedding_response = self.hook.create_embeddings(self.input_text)
-
-        # Extract just the embeddings list, which is serializable
+        # NOTE: Return type `EmbedByTypeResponseEmbeddings` was removed 
temporarily due to limitations
+        # in XCom serialization/deserialization of complex types like Cohere 
embeddings and Pydantic models.
+        #
+        # Tracking issue: https://github.com/apache/airflow/issues/50867
+        # Once that issue is resolved, XCom (de)serialization of such types 
will be supported, and
+        # we can safely restore the `EmbedByTypeResponseEmbeddings` return 
type here.
         return embedding_response

Reply via email to