apache / airflow

Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
https://airflow.apache.org/
Apache License 2.0
35.27k stars 13.78k forks source link

Support for `cohere` 5.0.0+ #38349

Open Taragolis opened 3 months ago

Taragolis commented 3 months ago

Body

Cohere v5.0.0 just released and seems like it might not work out of the box with Cohere Provider

airflow/providers/cohere/hooks/cohere.py:58: error: Unexpected keyword argument
"max_retries" for "Client"  [call-arg]
            return cohere.Client(
                   ^
/usr/local/lib/python3.8/site-packages/cohere/client.py:60: note: "Client" defined here
airflow/providers/cohere/hooks/cohere.py:58: error: Unexpected keyword argument
"api_url" for "Client"  [call-arg]
            return cohere.Client(
                   ^
/usr/local/lib/python3.8/site-packages/cohere/client.py:60: note: "Client" defined here
airflow/providers/cohere/hooks/cohere.py:56: error: Signature of "get_conn"
incompatible with supertype "BaseHook"  [override]
        def get_conn(self) -> cohere.Client:
        ^
airflow/providers/cohere/hooks/cohere.py:56: note:      Superclass:
airflow/providers/cohere/hooks/cohere.py:56: note:          def get_conn(self) -> Any
airflow/providers/cohere/hooks/cohere.py:56: note:      Subclass:
airflow/providers/cohere/hooks/cohere.py:56: note:          Client
airflow/providers/cohere/hooks/cohere.py:67: error: Incompatible return value
type (got "Union[List[List[float]], EmbedByTypeResponseEmbeddings]", expected
"List[List[float]]")  [return-value]
            return embeddings
                   ^~~~~~~~~~
airflow/providers/cohere/hooks/cohere.py:80: error: Too many positional
arguments for "generate" of "BaseCohere"  [misc]
                self.get_conn.generate("Test", max_tokens=10)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

We need eventually add support for v5, Migration Guide

Committer

okirialbert commented 3 months ago

Hi @Taragolis I'd like to work on this.