Files
light-heart-labs--dreamserver/ods/extensions/services/qdrant
wehub-resource-sync 9e8f1bbeed
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:33 +08:00
..

Qdrant

Vector database for semantic search and RAG in ODS

Overview

Qdrant is a high-performance vector database that stores and searches embeddings for Retrieval-Augmented Generation (RAG) workflows. It enables semantic similarity search across your local documents, letting LLMs retrieve relevant context before answering questions.

Features

  • Vector storage: Persist high-dimensional embeddings with HNSW indexing for fast nearest-neighbor search
  • Collection management: Organize vectors into named collections with configurable distance metrics (cosine, dot product, Euclidean)
  • Filtered search: Combine semantic search with structured metadata filters
  • Snapshots: Create and restore point-in-time backups of your collections
  • REST + gRPC API: Full API access over HTTP and gRPC for high-throughput clients
  • Persistence: All data survives container restarts via bind-mounted storage

Configuration

Environment variables (set in .env):

Variable Default Description
QDRANT_PORT 6333 External HTTP REST API port
QDRANT_GRPC_PORT 6334 External gRPC API port

API Endpoints

Endpoint Method Description
GET / GET Health check / root info
GET /collections GET List all collections
PUT /collections/{name} PUT Create a collection
DELETE /collections/{name} DELETE Delete a collection
PUT /collections/{name}/points PUT Insert/update vectors
POST /collections/{name}/points/search POST Similarity search
GET /collections/{name}/points/{id} GET Get point by ID
GET /dashboard GET Built-in web dashboard

Full API docs are available at http://localhost:6333/dashboard when the service is running.

Architecture

┌──────────────┐     REST :6333    ┌──────────────┐
│  Open-WebUI  │──────────────────▶│    Qdrant    │
│  Perplexica  │   gRPC  :6334    │  (Vector DB) │
│  Your App    │──────────────────▶│              │
└──────────────┘                   └──────┬───────┘
                                          │
                                   ┌──────▼───────┐
                                   │ ./data/qdrant│
                                   │  (storage)   │
                                   └──────────────┘

Qdrant works alongside the embeddings service: the embeddings service converts text to vectors, and Qdrant stores and retrieves them.

Files

  • manifest.yaml — Service metadata (port, health endpoint, GPU backends)
  • compose.yaml — Container definition (image, volumes, ports, healthcheck)

Troubleshooting

Qdrant not starting:

docker compose ps ods-qdrant
docker compose logs ods-qdrant

Cannot connect on port 6333:

  • Check QDRANT_PORT in .env is not in use by another service
  • Verify the container is healthy: docker compose ps ods-qdrant

Data lost after restart:

  • Ensure ./data/qdrant directory exists and has correct permissions
  • Check volume mount in compose.yaml

Collection errors:

# List collections via REST API
curl http://localhost:6333/collections

# Check Qdrant version
curl http://localhost:6333/