Skip to content

feat: Adds Qdrant vector search - #434

Open
Anush008 wants to merge 5 commits into
OpenBMB:mainfrom
Anush008:main
Open

feat: Adds Qdrant vector search#434
Anush008 wants to merge 5 commits into
OpenBMB:mainfrom
Anush008:main

Conversation

@Anush008

@Anush008 Anush008 commented Jun 1, 2026

Copy link
Copy Markdown

Description

This PR adds support for using Qdrant as a vector search provider in UltraRAG.

Testing

I've unit tested this integration against a local Qdrant instance.

Setup

You can run Qdrant with

docker run -p 6333:6333 drant/qdrant

The Qdrant URL then will be http://localhost:6333.

The dashboard is accessible at http://localhost:6333/dashboard.

@Anush008

Anush008 commented Aug 5, 2026

Copy link
Copy Markdown
Author

Hi @xhd0728. Just bumping this PR.

Please take a look when possible.

@xhd0728

xhd0728 commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Thanks for adding Qdrant support. I found a blocker in the non-demo indexing path.

QdrantIndexBackend.build_index() requires contents, but the non-demo Retriever.retriever_index() call only passes embeddings, ids, and overwrite. In addition, retriever_init() currently loads the corpus into self.contents only for FAISS/BM25, not Qdrant.

I reproduced it through the CLI on Windows with qdrant-client 1.18.0 and a local Qdrant path:

  • ultrarag build examples/experiments/qdrant_index.yaml succeeds.
  • After configuring index_backend: qdrant, a JSONL corpus, and a matching precomputed .npy embedding file, ultrarag run examples/experiments/qdrant_index.yaml --param examples/experiments/parameter/qdrant_index_parameter.yaml fails in retriever_index with:
ToolError: [qdrant] 'contents' is required.

Could you load the corpus for Qdrant in the non-demo path and pass the contents aligned with the embedding rows into build_index()? A CLI-level regression test for ultrarag build + ultrarag run would also help cover the actual integration path.

@Anush008

Anush008 commented Sep 2, 2026

Copy link
Copy Markdown
Author

Resolved with f768da2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants