Skip to content

Unable to Connect to https://knn.laion.ai/knn-service (Connection Timeout) #402

@phanquocky

Description

@phanquocky

Description

Hello,
I am trying to use the KNN service from https://knn.laion.ai/knn-service following the instructions provided in the project’s README. However, I consistently encounter a connection timeout error when making a query request.

Below is the code snippet I am using:

from clip_retrieval.clip_client import ClipClient, Modality

client = ClipClient(url="https://knn.laion.ai/knn-service", indice_name="laion5B-L-14")

results = client.query(text="an image of a cat")
print(results)

Error Traceback

Traceback (most recent call last):
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connection.py", line 198, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
TimeoutError: [Errno 60] Operation timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connectionpool.py", line 488, in _make_request
    raise new_e
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connectionpool.py", line 464, in _make_request
    self._validate_conn(conn)
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connectionpool.py", line 1093, in _validate_conn
    conn.connect()
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connection.py", line 704, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connection.py", line 207, in _new_conn
    raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x31d542f90>, 'Connection to knn.laion.ai timed out. (connect timeout=3600)')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/connectionpool.py", line 841, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='knn.laion.ai', port=443): Max retries exceeded with url: /knn-service (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x31d542f90>, 'Connection to knn.laion.ai timed out. (connect timeout=3600)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/admin/Documents/master/hp3/multimedia/compodiff/main.py", line 5, in <module>
    results = client.query(text="an image of a cat")
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/clip_retrieval/clip_client.py", line 84, in query
    return self.__search_knn_api__(text=text)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/clip_retrieval/clip_client.py", line 131, in __search_knn_api__
    return requests.post(
           ^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/requests/api.py", line 115, in post
    return request("post", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/admin/miniconda3/lib/python3.12/site-packages/requests/adapters.py", line 688, in send
    raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='knn.laion.ai', port=443): Max retries exceeded with url: /knn-service (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x31d542f90>, 'Connection to knn.laion.ai timed out. (connect timeout=3600)'))

Question

Is the public endpoint https://knn.laion.ai/knn-service currently down or deprecated?
If so, could you please advise if there is an alternative public endpoint or a recommended approach for running the KNN service locally?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions