By default PixelRAG stores vectors in a local FAISS index — a flat binary file that is fast to load and requires no extra infrastructure. Qdrant is the right choice when you need features that FAISS cannot provide: configurable quantization to reduce memory use, disk-backed vectors that survive server restarts, payload filtering at query time, or a single collection shared by multiple PixelRAG server instances. Both backends produce identical search results for the same index, so you can start with FAISS and migrate to Qdrant later without retraining.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/StarTrail-org/PixelRAG/llms.txt
Use this file to discover all available pages before exploring further.
Install
Install theqdrant extra alongside the stage you are using. You need it for whichever of
index or serve you are running — install both if you are doing both on the same machine:
Start a local Qdrant server
The quickest way to get a Qdrant server running locally is with Docker:http://localhost:6333 and is ready to accept collections immediately.
Build an index against Qdrant
Runpixelrag build-index with --backend qdrant to write vectors into a Qdrant collection
instead of a local FAISS file:
| Flag | Description |
|---|---|
--backend qdrant | Select the Qdrant backend |
--qdrant-url | Qdrant server URL |
--collection | Collection name (default: pixelrag) |
--qdrant-quantization-config | Path to a JSON file with a Qdrant quantization config |
--append | Add vectors to an existing collection without recreating it |
--recreate | Delete and recreate the collection before indexing |
Quantization
Qdrant supports scalar and product quantization to compress stored vectors, which reduces memory consumption and can speed up search at a configurable recall tradeoff. Create a JSON file with yourquantization_config object:
build-index:
int8 scalar method compresses each 32-bit float to 8 bits (4× compression), with
always_ram: true keeping the quantized vectors in RAM for low-latency search while leaving
the full-precision originals on disk. See Qdrant’s
quantization guide
for all supported methods and parameters.
Serve from Qdrant
Startpixelrag serve with --qdrant-url to connect to your collection. The server reads the
backend type (qdrant) from summary.json automatically — you do not need to pass
--backend qdrant at serve time:
--qdrant-client-config is a path to a JSON file containing any QdrantClient constructor
arguments (for example, TLS settings or timeout overrides). At serve time, summary.json
supplies the collection name, so you only need --collection if you want to override it.
pixelrag.yaml configuration
To use Qdrant through the orchestratedpixelrag index build pipeline, add an index: section
to your pixelrag.yaml:
append: true to add documents to an existing collection, or recreate: true to
replace it. Both flags are mutually exclusive; recreate takes precedence if both are set.
Qdrant Cloud — replace
qdrant_url with your Qdrant Cloud cluster URL and pass
--qdrant-api-key (or set the QDRANT_API_KEY environment variable) to authenticate.
The qdrant-client.json approach also works: add an "api_key" field to the JSON object
alongside the "url" so credentials stay out of the command line.