[GH-ISSUE #4784] Unable to use QDrant as vectorDB ([backend] error: Failed to vectorize) #3010

Closed
opened 2026-02-22 18:32:15 -05:00 by yindo · 5 comments
Owner

Originally created by @JOduMonT on GitHub (Dec 15, 2025).
Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/4784

Description

hi;

As few of us; I try to use another VectorDB than LanceDB; in my case it is qDrant

While it is working well with Flowise and n8n; and the configuration is from start in my docker-compose

Image

and the connection is established

Image

rest ensure; I use the right variables as shown here:https://github.com/Mintplex-Labs/anything-llm/blob/c4f49ff6b445f8f1b15d3bd42f8a2d24317b745c/server/utils/vectorDbProviders/qdrant/index.js#L15-L20

I still have an error when I tranfert from to my

[backend] error: Failed to vectorize

Image

so I was wondering

do I need to initiate the collection in qdrant before; because I tried with

  • AnythingLLM Local Embedder
  • OpenAI
  • Ollama

without sucess


2025-12-15T11:57:26.212614572Z [backend] error: fetch failed TypeError: fetch failed
2025-12-15T11:57:26.212634429Z     at node:internal/deps/undici/undici:12637:11
2025-12-15T11:57:26.212643856Z     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2025-12-15T11:57:26.212651640Z     at async fetchJson (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:135:22)
2025-12-15T11:57:26.212661128Z     at async /app/server/node_modules/@qdrant/js-client-rest/dist/cjs/api-client.js:46:26
2025-12-15T11:57:26.212670996Z     at async handler (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:156:16)
2025-12-15T11:57:26.212679252Z     at async /app/server/node_modules/@qdrant/js-client-rest/dist/cjs/api-client.js:32:24
2025-12-15T11:57:26.212686305Z     at async handler (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:156:16)
2025-12-15T11:57:26.212693428Z     at async fetchUrl (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:162:22)
2025-12-15T11:57:26.212700551Z     at async Object.fun [as clusterStatus] (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:168:20)
2025-12-15T11:57:26.212708035Z     at async Object.connect (/app/server/utils/vectorDbProviders/qdrant/index.js:22:22)
2025-12-15T11:57:28.303322488Z [backend] info: [Event Logged] - workspace_vectors_reset
2025-12-15T11:57:28.303407596Z Api key is used with unsecure connection.
2025-12-15T11:57:28.305385609Z [backend] error: fetch failed
Originally created by @JOduMonT on GitHub (Dec 15, 2025). Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/4784 ### Description hi; As few of us; I try to use another VectorDB than LanceDB; in my case it is qDrant While it is working well with Flowise and n8n; and the configuration is from start in my docker-compose <img width="687" height="250" alt="Image" src="https://github.com/user-attachments/assets/4e48b942-a5e5-4200-8b5b-7ef55f6cfc82" /> ### and the connection is established <img width="1835" height="44" alt="Image" src="https://github.com/user-attachments/assets/5c7b83cc-9bf1-4b5e-9509-89fd4b52c565" /> rest ensure; I use the right variables as shown here:https://github.com/Mintplex-Labs/anything-llm/blob/c4f49ff6b445f8f1b15d3bd42f8a2d24317b745c/server/utils/vectorDbProviders/qdrant/index.js#L15-L20 ### I still have an error when I tranfert from to my [backend] error: Failed to vectorize <img width="947" height="727" alt="Image" src="https://github.com/user-attachments/assets/6f5ac8a3-8221-4738-88cc-9b25307792bd" /> ## so I was wondering do I need to initiate the collection in qdrant before; because I tried with - AnythingLLM Local Embedder - OpenAI - Ollama - without sucess ```` 2025-12-15T11:57:26.212614572Z [backend] error: fetch failed TypeError: fetch failed 2025-12-15T11:57:26.212634429Z at node:internal/deps/undici/undici:12637:11 2025-12-15T11:57:26.212643856Z at process.processTicksAndRejections (node:internal/process/task_queues:95:5) 2025-12-15T11:57:26.212651640Z at async fetchJson (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:135:22) 2025-12-15T11:57:26.212661128Z at async /app/server/node_modules/@qdrant/js-client-rest/dist/cjs/api-client.js:46:26 2025-12-15T11:57:26.212670996Z at async handler (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:156:16) 2025-12-15T11:57:26.212679252Z at async /app/server/node_modules/@qdrant/js-client-rest/dist/cjs/api-client.js:32:24 2025-12-15T11:57:26.212686305Z at async handler (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:156:16) 2025-12-15T11:57:26.212693428Z at async fetchUrl (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:162:22) 2025-12-15T11:57:26.212700551Z at async Object.fun [as clusterStatus] (/app/server/node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js:168:20) 2025-12-15T11:57:26.212708035Z at async Object.connect (/app/server/utils/vectorDbProviders/qdrant/index.js:22:22) 2025-12-15T11:57:28.303322488Z [backend] info: [Event Logged] - workspace_vectors_reset 2025-12-15T11:57:28.303407596Z Api key is used with unsecure connection. 2025-12-15T11:57:28.305385609Z [backend] error: fetch failed ````
yindo added the documentation label 2026-02-22 18:32:15 -05:00
yindo closed this issue 2026-02-22 18:32:15 -05:00
Author
Owner

@timothycarambat commented on GitHub (Dec 15, 2025):

Error is in the logs

2025-12-15T11:57:28.303407596Z Api key is used with unsecure connection.

Change http to https - which QDrant cloud does support. If this isnt QDrant cloud, their SDK seems to require it so it is being rejected.

@timothycarambat commented on GitHub (Dec 15, 2025): Error is in the logs > 2025-12-15T11:57:28.303407596Z Api key is used with unsecure connection. Change `http` to `https` - which QDrant cloud does support. If this isnt QDrant cloud, their SDK seems to require it so it is being rejected.
Author
Owner

@JOduMonT commented on GitHub (Dec 18, 2025):

maybe the http://localhost:6333 leaded me into that presumption

(that http would work; specially since it work with flowise and n8n)
Image

in anycase; even with the https I still have an error

(which; again work fine with n8n and flowise)
Image

2025-Dec-18 14:09:41.393116
[backend] info: [EncryptionManager] Loaded existing key & salt for encrypting arbitrary data.
2025-Dec-18 14:09:41.425444
[collector] info: -- Working TEST.pdf --
2025-Dec-18 14:09:41.440320
[collector] info: -- Parsing content from pg 3 --
2025-Dec-18 14:09:41.440433
[collector] info: -- Parsing content from pg 4 --
2025-Dec-18 14:09:41.440489
[collector] info: -- Parsing content from pg 5 --
2025-Dec-18 14:09:41.440526
[collector] info: -- Parsing content from pg 6 --
2025-Dec-18 14:09:41.440609
[collector] info: -- Parsing content from pg 7 --
2025-Dec-18 14:09:41.455502
[collector] info: [SUCCESS]: TEST.pdf converted & ready for embedding.
2025-Dec-18 14:09:41.455528
2025-Dec-18 14:09:41.456733
[backend] info: [CollectorApi] Document TEST.pdf uploaded processed and successfully. It is now available in documents.
2025-Dec-18 14:09:41.471453
[backend] info: [Event Logged] - document_uploaded
2025-Dec-18 14:09:46.443571
[backend] info: Adding new vectorized document into namespace qdrant
2025-Dec-18 14:09:46.444597
[backend] info: [RecursiveSplitter] Will split with {"chunkSize":8191,"chunkOverlap":20,"chunkHeader":"\nsourceDocument: TEST..."}
2025-Dec-18 14:09:46.444899
[backend] info: Snippets created from document: 1
2025-Dec-18 14:09:46.444920
[backend] info: [OpenAiEmbedder] Embedding 1 chunks...
2025-Dec-18 14:09:57.929977
[backend] error: addDocumentToNamespace fetch failed
2025-Dec-18 14:09:57.930012
[backend] error: Failed to vectorize TEST.pdf
2025-Dec-18 14:09:57.944888
[backend] info: [Event Logged] - workspace_documents_added

Q: Do I need to create manually the collection before ?

@JOduMonT commented on GitHub (Dec 18, 2025): ### maybe the `http://localhost:6333` leaded me into that presumption (*that **http** would work; specially since it work with flowise and n8n*) <img width="1084" height="333" alt="Image" src="https://github.com/user-attachments/assets/8b291968-8614-4fe0-9ac2-c11c1ca7e845" /> ### in anycase; even with the https I still have an error (*which; again work fine with n8n and flowise*) <img width="718" height="255" alt="Image" src="https://github.com/user-attachments/assets/3eed2e47-c712-4fa9-a25c-4f2b3def69a1" /> ````logs 2025-Dec-18 14:09:41.393116 [backend] info: [EncryptionManager] Loaded existing key & salt for encrypting arbitrary data. 2025-Dec-18 14:09:41.425444 [collector] info: -- Working TEST.pdf -- 2025-Dec-18 14:09:41.440320 [collector] info: -- Parsing content from pg 3 -- 2025-Dec-18 14:09:41.440433 [collector] info: -- Parsing content from pg 4 -- 2025-Dec-18 14:09:41.440489 [collector] info: -- Parsing content from pg 5 -- 2025-Dec-18 14:09:41.440526 [collector] info: -- Parsing content from pg 6 -- 2025-Dec-18 14:09:41.440609 [collector] info: -- Parsing content from pg 7 -- 2025-Dec-18 14:09:41.455502 [collector] info: [SUCCESS]: TEST.pdf converted & ready for embedding. 2025-Dec-18 14:09:41.455528 2025-Dec-18 14:09:41.456733 [backend] info: [CollectorApi] Document TEST.pdf uploaded processed and successfully. It is now available in documents. 2025-Dec-18 14:09:41.471453 [backend] info: [Event Logged] - document_uploaded 2025-Dec-18 14:09:46.443571 [backend] info: Adding new vectorized document into namespace qdrant 2025-Dec-18 14:09:46.444597 [backend] info: [RecursiveSplitter] Will split with {"chunkSize":8191,"chunkOverlap":20,"chunkHeader":"\nsourceDocument: TEST..."} 2025-Dec-18 14:09:46.444899 [backend] info: Snippets created from document: 1 2025-Dec-18 14:09:46.444920 [backend] info: [OpenAiEmbedder] Embedding 1 chunks... 2025-Dec-18 14:09:57.929977 [backend] error: addDocumentToNamespace fetch failed 2025-Dec-18 14:09:57.930012 [backend] error: Failed to vectorize TEST.pdf 2025-Dec-18 14:09:57.944888 [backend] info: [Event Logged] - workspace_documents_added ```` #### Q: Do I need to create manually the collection before ?
Author
Owner

@timothycarambat commented on GitHub (Dec 18, 2025):

Where are you getting your URL. I just went to Qdrant cloud and made a free cluster. The URL is like this:
https://xxxxx-xxxx-xxxx-xxxx-xxxx.us-east4-0.gcp.cloud.qdrant.io:6333

This URL appears a bit different to your URL qdrant.jdmnt.co:6333 . Upserts and embeddings are working fine when i use the URL Qdrant provides me.

Also you didnt mention if you are on Docker or Desktop. If you are on Docker and trying to use a custom hostname to connect to your cluster - that custom hostname does not resolve in the container (which is why cURL works on your host). Assuming you are running n8n and flowise in their non-containerized formats, that also explains why the hostname resolves there.

  • How are you running AnythingLLM
  • How are you running Qdrant
  • What is qdrant.jdmnt.co? It is different from the URL you showed your cURL'd
@timothycarambat commented on GitHub (Dec 18, 2025): Where are you getting your URL. I just went to Qdrant cloud and made a free cluster. The URL is like this: `https://xxxxx-xxxx-xxxx-xxxx-xxxx.us-east4-0.gcp.cloud.qdrant.io:6333` This URL appears a bit different to your URL `qdrant.jdmnt.co:6333` . Upserts and embeddings are working fine when i use the URL Qdrant provides me. Also you didnt mention if you are on Docker or Desktop. If you are on Docker and trying to use a custom hostname to connect to your cluster - that custom hostname does not resolve in the container (which is why cURL works on your host). Assuming you are running n8n and flowise in their non-containerized formats, that also explains why the hostname resolves there. - How are you running AnythingLLM - How are you running Qdrant - What is `qdrant.jdmnt.co`? It is different from the URL you showed your cURL'd
Author
Owner

@JOduMonT commented on GitHub (Dec 19, 2025):

1st @timothycarambat thanks for your quick and professional replied ;)
2nd; sorry that I skipped few detail in my previous ...

  • How are you running AnythingLLM
  • How are you running Qdrant
  • everything (AnythingLLM, QDrant, flowise, n8n, SearxNG, PostgreSQL, Redis, ...) in under docker on the same machine, but in different compose files
  • What is qdrant.jdmnt.co? It is different from the URL you showed your cURL'd
  • yes saddly I exposed my real domain: https://qdrant.jdmnt.co
    • while it might be down from time to time since it's on my laptop.
  • yes anythingllm container is able to reach qdrant container
    Image

my anythingllm docker-compose

services:
  anything-llm:
    image: mintplexlabs/anythingllm
    environment:
      - SERVICE_URL_ANYTHINGLLM_3001
      - STORAGE_DIR=/app/server/storage
      - 'DISABLE_TELEMETRY=${DISABLE_TELEMETRY:-true}'
      - 'PASSWORDLOWERCASE=${PASSWORDLOWERCASE:-1}'
      - 'PASSWORDMAXCHAR=${PASSWORDMAXCHAR:-250}'
      - 'PASSWORDMINCHAR=${PASSWORDMINCHAR:-6}'
      - 'PASSWORDNUMERIC=${PASSWORDNUMERIC:-1}'
      - 'PASSWORDREQUIREMENTS=${PASSWORDREQUIREMENTS:-1}'
      - 'PASSWORDSYMBOL=${PASSWORDSYMBOL:-1}'
      - 'PASSWORDUPPERCASE=${PASSWORDUPPERCASE:-1}'
      - 'SIG_KEY=${SERVICE_PASSWORD_SIGKEY}'
      - 'SIG_SALT=${SERVICE_PASSWORD_SIGSALT}'
      - 'JWT_SECRET=${SERVICE_PASSWORD_JWTSECRET}'
      - 'AUTH_TOKEN=${SERVICE_PASSWORD_AUTHTOKEN}'
      - 'SERVER_PORT=${SERVER_PORT:-3001}'
      - 'VECTOR_DB=${VECTOR_DB:-lancedb}'
      - 'QDRANT_URL=${QDRANT_URL}'
      - 'QDRANT_API_KEY=${QDRANT_API_KEY}'
    cap_add:
      - SYS_ADMIN
    volumes:
      - 'anythingllm-server:/app/server'
      - 'anythingllm-hot:/app/collector/hotdir'
      - 'anythingllm-outputs:/app/collector/outputs'
    user: '${UID:-1000}:${GID:-1000}'

my qdrant container doesnt not has a SSL by default
this SSL (https://qdrant...) is provided by NGINX Proxy

with n8n and flowise I use http://qdrant:6333 (internaly) to bypass Cloudflare and NGINX; I was expecting AnythingLLM to work the same way since http://searxng:8080 (internaly) work fine for all of them.

@JOduMonT commented on GitHub (Dec 19, 2025): 1st @timothycarambat thanks for your quick and professional replied ;) 2nd; sorry that I skipped few detail in my previous ... > * How are you running AnythingLLM > * How are you running Qdrant - everything (AnythingLLM, QDrant, flowise, n8n, SearxNG, PostgreSQL, Redis, ...) in under docker on the same machine, but in different compose files > * What is `qdrant.jdmnt.co`? It is different from the URL you showed your cURL'd - yes saddly I exposed my real domain: `https://qdrant.jdmnt.co` - while it might be down from time to time since it's on my laptop. - yes `anythingllm container` is able to reach `qdrant container` <img width="1290" height="48" alt="Image" src="https://github.com/user-attachments/assets/9ccc46f6-2133-483e-ab76-bef3e4b13448" /> ### my anythingllm docker-compose ````yaml services: anything-llm: image: mintplexlabs/anythingllm environment: - SERVICE_URL_ANYTHINGLLM_3001 - STORAGE_DIR=/app/server/storage - 'DISABLE_TELEMETRY=${DISABLE_TELEMETRY:-true}' - 'PASSWORDLOWERCASE=${PASSWORDLOWERCASE:-1}' - 'PASSWORDMAXCHAR=${PASSWORDMAXCHAR:-250}' - 'PASSWORDMINCHAR=${PASSWORDMINCHAR:-6}' - 'PASSWORDNUMERIC=${PASSWORDNUMERIC:-1}' - 'PASSWORDREQUIREMENTS=${PASSWORDREQUIREMENTS:-1}' - 'PASSWORDSYMBOL=${PASSWORDSYMBOL:-1}' - 'PASSWORDUPPERCASE=${PASSWORDUPPERCASE:-1}' - 'SIG_KEY=${SERVICE_PASSWORD_SIGKEY}' - 'SIG_SALT=${SERVICE_PASSWORD_SIGSALT}' - 'JWT_SECRET=${SERVICE_PASSWORD_JWTSECRET}' - 'AUTH_TOKEN=${SERVICE_PASSWORD_AUTHTOKEN}' - 'SERVER_PORT=${SERVER_PORT:-3001}' - 'VECTOR_DB=${VECTOR_DB:-lancedb}' - 'QDRANT_URL=${QDRANT_URL}' - 'QDRANT_API_KEY=${QDRANT_API_KEY}' cap_add: - SYS_ADMIN volumes: - 'anythingllm-server:/app/server' - 'anythingllm-hot:/app/collector/hotdir' - 'anythingllm-outputs:/app/collector/outputs' user: '${UID:-1000}:${GID:-1000}' ```` my qdrant container doesnt not has a SSL by default this SSL (https://qdrant...) is provided by NGINX Proxy with n8n and flowise I use `http://qdrant:6333 (internaly)` to bypass Cloudflare and NGINX; I was expecting AnythingLLM to work the same way since `http://searxng:8080 (internaly)` work fine for all of them.
Author
Owner

@JOduMonT commented on GitHub (Dec 20, 2025):

@timothycarambat so your telling me that:
qdrant works only with https and with the cloud version ?
or that you don't support qdrant seams your a small team and you have to focus on developping ?

@JOduMonT commented on GitHub (Dec 20, 2025): @timothycarambat so your telling me that: qdrant works only with https and with the cloud version ? or that you don't support qdrant seams your a small team and you have to focus on developping ?
yindo changed title from Unable to use QDrant as vectorDB ([backend] error: Failed to vectorize) to [GH-ISSUE #4784] Unable to use QDrant as vectorDB ([backend] error: Failed to vectorize) 2026-06-05 14:49:49 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Mintplex-Labs/anything-llm#3010