-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qdrant collections can't be listed in a hosted environement #12381
Comments
Hey @nicolas-geysse, We have created an internal ticket to look into this which we will be tracking as "N8N-8014" |
Hey @nicolas-geysse Just to check are you using localhost as the host address for your local qdrant instance? |
Hello @Joffcom |
I have the same issue with Qdrant, my instance works, but when using n8n node for Qdrant credentials are green but I can not list the collections. curl 'https://myqdrant_host_name/collections' \
-H 'accept: application/json, text/plain, */*' \
-H 'accept-language: en-US,en;q=0.7' \
-H 'api-key: mytoken=' \
-H 'content-type: application/json' \
-H 'priority: u=1, i' \
-H 'x-inference-proxy: true'
{"result":{"collections":[{"name":"contacts"}]},"status":"ok","time":0.00001614} |
@nicolas-geysse For me it's working correctly when I run everything locally, even when adding an API key. Is there anything special about your setup? |
@nicolas-geysse Ah, maybe it's something else... I tried a bit more and came to the conclusion that there might be an issue with saving the credential if you change the URL after you've entered the API key. Can you try re-entering your API key in the credential and saving it? You may need to use the three-dot menu near "Qdrant Collection" to refresh the list: |
@jeanpaul Hello, I don't see anything special in my setup...I wonder if that might be related to IP v4 and v6 (not supported with n8n, but with Qdrant)
|
@nicolas-geysse did you see my comment on re-adding your credential? If that's the issue, there should be a fix released soon. If that doesn't, we should look into it some more. |
@jeanpaul yes, I did that, same result. But it's getting weirder as if I set an empty API key in the credentials, the connection is allowed ! If I enter anything, it also works !
With an empty API key, or anything, it doesn't work (as expected). With the correct API key, no problem, I do have the list of my collections. |
We're aware that the credential-test (on the credential-screen) is not working as expected (it's requesting the wrong path that always succeeds, whether or not you provided correct credentials). However, if you added your API key again to the credential, saved it, and refreshed the collection-list while still coming up empty, I'm unsure of how to reproduce your issue. It might be that your host or cloudflare are doing something different (blocking the request maybe?) |
@jeanpaul I'd agree with your point if the custom code node given previously was not running smoothly on the same n8n instance that does not list the collections with the n8n Qdrant vector store... In the .env I've added I suspect that the node code might be more consistent in the IPv6 handling than the qdrant vector store node ? (I've recreated the credentials, refreshed, multiple times...) Maybe it is on the Qdrant side that might handle connections in a more robust way on the cloud version ? If you use a n8n in queue mode with Qdrant locally, there's no issue for you I suppose ? |
I didn't try queue mode, but that shouldn't have any effect on retrieving the collections. The collection search method in n8n uses the |
@jeanpaul it works ! Something I see is that the port 6333 must not be set in that case. |
I've created a tunnel with cloudflare : Deleted the CNAME entry Created into Railway : And it finally works but...In the log of n8n: I think I may dig to internally share the service directly into Railway to connect n8n / Qdrant to avoid all this. I also think this might be related: |
Hi @nicolas-geysse, glad to hear this resolved the issue. If you don't use TLS for the connection, it is indeed not a secured connection. Thanks for reporting back. |
Hello @jeanpaul, thanks, unfortunaltely , to me it's not prod ready with such security issue :( |
I don't know how well the qdrant SDK plays with TLS. The n8n code uses the SDK version that's supplied via LangChain. It could be an upstream issue, but I'm not able to help you out with that, sorry. |
Bug Description
Hello,
I may create, list, and anything I want using http request node to connect a Cloud version but also a hosted version of Qdrant.
In the n8n Qdrant node, I may list the collections directly without any problems, but it fails for the hosted version.
To Reproduce
1.Host an instance of Qdrant in your infrastructure.
2.Create your credentials, the connection with the credentials is working fine
3.Use the Qdrant node to list collections.
4. :(
5. Do that with the Cloud version of Qdrant
6. :)
Expected behavior
As my connection between n8n and my hosted version of Qdrant, it should handle the same way the Cloud version.
Operating System
?
n8n Version
1.72.1
Node.js Version
20.18.0
Database
PostgreSQL
Execution mode
queue
The text was updated successfully, but these errors were encountered: