Find answers from the community

Updated 4 weeks ago

Awaiting async function with a tuple argument is not supported.

i keep getting this error: TypeError: object tuple can't be used in 'await' expression
L
v
6 comments
The full error might be more useful
Like the full traceback
sounds like a bug?
Function that creates OS Client:
Plain Text
def create_opensearch_vector_client(
    index: str,
) -> OpensearchVectorClient:
    endpoint = os.environ["OPENSEARCH_URL"]

    return OpensearchVectorClient(
        endpoint=endpoint,
        index=index,
        dim=3072,
        http_auth=aws.create_async_auth(service="es"),
        timeout=5000,
        connection_class=AsyncHttpConnection,
        verify_certs=True,
        use_ssl=True,
        embedding_field="vector_field",
        text_field="text",
    )


Function that creates async aws auth:
Plain Text
def create_async_auth(
    service: str,
    region: str =default_region,
):
  credentials = get_credentials()

  if credentials is None:
    raise ValueError("Missing AWS credentials")
  
  awsauth = AWSV4SignerAsyncAuth(
    credentials,
    region,
    service,
  )

  return awsauth


OS Call
Plain Text
retriever = self.index.as_retriever(
      similarity_top_k=3,
    )

    docs = await retriever.aretrieve(question["question"])
It looks like i solved that i keep getting this error: TypeError: object tuple can't be used in 'await' expressionerror. But i'm getting this right now:

Plain Text
/home/bruno/Documents/Afya/medcel.genai.serverless/venv/lib/python3.11/site-packages/opensearchpy/transport.py:416: RuntimeWarning: coroutine 'AsyncHttpConnection.perform_request' was never awaited
  status, headers_response, data = connection.perform_request(
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Traceback (most recent call last):
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/node_modules/serverless/lib/plugins/aws/invoke-local/runtime-wrappers/invoke.py", line 80, in <module>

    module = import_module(args.handler_path.replace('/', '.'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/src/learning/infra/lambdas/generate_question_comments.py", line 12, in <module>

    from ..factories.usecases.generate_question_comments_factory import (
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/src/learning/infra/factories/usecases/generate_question_comments_factory.py", line 14, in <module>

    from ....._shared.utils.indexes import (

  File "/home/bruno/Documents/Afya/medcel.genai.serverless/src/_shared/utils/indexes.py", line 8, in <module>

    llama_utils.create_opensearch_vector_client(
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/src/_shared/utils/llama.py", line 122, in create_opensearch_vector_client

    return OpensearchVectorClient(
           ^^^^^^^^^^^^^
^^^^^^^^^^
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/venv/lib/python3.11/site-packages/llama_index/vector_stores/opensearch/base.py", line 126, in __init__

    self._os_version = self._get_opensearch_version()

                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/venv/lib/python3.11/site-packages/llama_index/vector_stores/opensearch/base.py", line 204, in _get_opensearch_version
    info = self._os_client.info()
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/venv/lib/python3.11/site-packages/opensearchpy/client/utils.py", line 176, in _wrapped

    return func(*args, params=params, headers=headers, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bruno/Documents/Afya/medcel.genai.serverless/venv/lib/python3.11/site-packages/opensearchpy/client/__init__.py", line 308, in info

    return self.transport.perform_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/bruno/Documents/Afya/medcel.genai.serverless/venv/lib/python3.11/site-packages/opensearchpy/transport.py", line 416, in perform_request
    status, headers_response, data = connection.perform_request(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: cannot unpack non-iterable coroutine object
oh man, seems like a bug in opensearchpy πŸ‘€ Maybe try updating or downgrading that package?
Add a reply
Sign up and join the conversation on Discord