Qdrant
Qdrant is a high-performance vector search engine built in Rust.
Setup & Installation
Local Qdrant:
# Using Docker
docker run -d \
--name qdrant \
-p 6333:6333 \
-p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant:latest
Qdrant Cloud:
Sign up at cloud.qdrant.io
Configuration Options
vectorConfig := &vectorstore.Config{
Enabled: true,
Type: vectorstore.VectorStoreTypeQdrant,
Config: vectorstore.QdrantConfig{
Host: "localhost",
Port: 6334,
APIKey: "",
UseTLS: false,
},
}
store, err := vectorstore.NewVectorStore(context.Background(), vectorConfig, logger)
Local Setup:{
"vector_store": {
"enabled": true,
"type": "qdrant",
"config": {
"host": "localhost",
"port": 6334
}
}
}
Cloud Setup:{
"vector_store": {
"enabled": true,
"type": "qdrant",
"config": {
"host": "your-qdrant-cluster.cloud.qdrant.io",
"port": 6334,
"api_key": "your-qdrant-api-key",
"use_tls": true
}
}
}
Configuration Reference
| Field | Type | Default | Description |
|---|
host | string | — | Qdrant server host. Supports env.VAR_NAME syntax. Required. |
port | integer | 6334 | gRPC port. Bifrost always uses the gRPC interface. |
api_key | string | — | API key for Qdrant Cloud authentication. Supports env.VAR_NAME syntax. |
use_tls | boolean | false | Enable TLS. Required for Qdrant Cloud. |
max_recv_msg_size_mb | integer | 64 | gRPC max receive message size in MB. Increase when caching large payloads (e.g. base64-encoded image generation responses exceed the default). |
Qdrant uses port 6334 for gRPC and port 6333 for REST. Bifrost uses the gRPC port.
Qdrant requires all IDs to be valid UUIDs. Use uuid.New().String() to generate IDs.
For the VectorStore interface API and usage examples, see Vector Store Architecture. For semantic caching setup, see Semantic Caching.