Connectivity to QDrant Cloud Issue
When running private GPT using Ollama profile and set up for QDrant cloud, it cannot resolve the cloud REST address.
settings.yaml
vectorstore: database: qdrant
nodestore: database: postgres
qdrant: url: "myinstance1.us-east4-0.gcp.cloud.qdrant.io:6333" api_key: "yB5H0osupersecret" collection_name: "make_this_parameterizable_per_api_call" #Added because i was getting a parameter error without it
I get the following error:
20:38:20.924 [INFO ] private_gpt.settings.settings_loader - Starting application with profiles=['default', 'ollama'] 20:38:28.380 [INFO ] private_gpt.components.llm.llm_component - Initializing the LLM in mode=ollama Traceback (most recent call last): File "C:\Romanzo\env1\Lib\site-packages\injector_init_.py", line 798, in get return self._context[key] ~~~~~~~~~~~~~^^^^^ KeyError: <class 'private_gpt.ui.ui.PrivateGptUi'>
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Romanzo\env1\Lib\site-packages\injector_init_.py", line 798, in get return self._context[key] ~~~~~~~~~~~~~^^^^^ KeyError: <class 'private_gpt.server.ingest.ingest_service.IngestService'>
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Romanzo\env1\Lib\site-packages\injector_init_.py", line 798, in get return self._context[key] ~~~~~~~~~~~~~^^^^^ KeyError: <class 'private_gpt.components.vector_store.vector_store_component.VectorStoreComponent'>
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Romanzo\env1\Lib\site-packages\httpcore_exceptions.py", line 10, in map_exceptions yield File "C:\Romanzo\env1\Lib\site-packages\httpcore_backends\sync.py", line 206, in connect_tcp sock = socket.create_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\gabek\AppData\Local\Programs\Python\Python311\Lib\socket.py", line 826, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\gabek\AppData\Local\Programs\Python\Python311\Lib\socket.py", line 961, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno 11001] getaddrinfo failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "C:\Romanzo\env1\Lib\site-packages\httpx_transports\default.py", line 66, in map_httpcore_exceptions yield File "C:\Romanzo\env1\Lib\site-packages\httpx_transports\default.py", line 228, in handle_request resp = self._pool.handle_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpcore_sync\connection_pool.py", line 268, in handle_request raise exc File "C:\Romanzo\env1\Lib\site-packages\httpcore_sync\connection_pool.py", line 251, in handle_request response = connection.handle_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpcore_sync\connection.py", line 99, in handle_request raise exc File "C:\Romanzo\env1\Lib\site-packages\httpcore_sync\connection.py", line 76, in handle_request stream = self._connect(request) ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpcore_sync\connection.py", line 124, in _connect stream = self._network_backend.connect_tcp(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpcore_backends\sync.py", line 205, in connect_tcp with map_exceptions(exc_map): File "C:\Users\gabek\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 155, in exit self.gen.throw(typ, value, traceback) File "C:\Romanzo\env1\Lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ConnectError: [Errno 11001] getaddrinfo failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "C:\Romanzo\env1\Lib\site-packages\qdrant_client\http\api_client.py", line 101, in send_inner response = self._client.send(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpx_client.py", line 901, in send response = self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpx_client.py", line 929, in _send_handling_auth response = self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpx_client.py", line 966, in _send_handling_redirects response = self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpx_client.py", line 1002, in _send_single_request response = transport.handle_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Romanzo\env1\Lib\site-packages\httpx_transports\default.py", line 227, in handle_request with map_httpcore_exceptions(): File "C:\Users\gabek\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 155, in exit self.gen.throw(typ, value, traceback) File "C:\Romanzo\env1\Lib\site-packages\httpx_transports\default.py", line 83, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ConnectError: [Errno 11001] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "
I have played with multiple YAML configurations including separating the URL and the PORT and using HTTPS = True. Same result everytime. Thanks, Gabe
instead of settings.yaml try putting those in settings-ollama.yaml
vectorstore: database: qdrant
nodestore: database: postgres
qdrant: url: "myinstance1.us-east4-0.gcp.cloud.qdrant.io:6333" api_key: "yB5H0osupersecret"
I am getting further moving it there. Getting a max new threads issue with the Qdrant Client: qdrant_client\http\api_client.py", line 96, in send raise ResponseHandlingException(e) qdrant_client.http.exceptions.ResponseHandlingException: 1 validation error for ParsingModel[InlineResponse2005] (for parse_as_type) obj.result.config.optimizer_config.max_optimization_threads Input should be a valid integer [type=int_type, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.5/v/int_type make: *** [Makefile:36: run] Error 1
I am going to mess around with different configurations. I turned the thread checker to false in the settings.py file, with no resolution. Flipped it back and trying a few more things.
I've just pulled the current code to build a fresh server and it breaks Qdrant external server integration.
qdrant_client.http.exceptions.ResponseHandlingException: 1 validation error for ParsingModel[InlineResponse2005] (for parse_as_type) obj.result.config.optimizer_config.max_optimization_threads Input should be a valid integer [type=int_type, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.5/v/int_type make: *** [Makefile:36: run] Error 1
Any updates on this?.....Many thanks in advance!!!
Same here 2 validation errors for ParsingModel[InlineResponse20015] (for parse_as_type) obj.result.0.order_value Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.5/v/extra_forbidden obj.result.1.order_value Extra inputs are not permitted [type=extra_forbidden, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.5/v/extra_forbidden
First of all, can you pull new changes? We've updated Qdrant dependencies :)
Talking about Qdrant cloud topic, I've used a couple days ago without bugs. It seems like you don't have connection to the cluster. Can you try to connect using raw QdrantClient like this doc example.