qdrant

Qdrant vector database. Ships pre-built aarch64-apple-darwin binaries from upstream; install path just unpacks the tarball. REST API on the orchestrator-allocated port; gRPC stays disabled in v1.

Manifest knobs

[services.vectors]
type = "qdrant"
version = "1.17.1"
port = "auto"
isolation = "per-project"

Healthcheck: GET /healthz returning 200 OK.

On-disk layout

<project>/.unibench-data/<service>/
└── storage/
    └── collections/...

unibench start --fresh wipes the storage dir. For embedding-comparison runs the embedding-experiments sample defaults to Fresh so collections never carry stale vectors across runs.

Inspection drawer

  • Connection URLhttp://127.0.0.1:<port>.
  • Collections — every collection with its vector size, distance metric, and points count.
  • External tools — open the Qdrant web UI at http://127.0.0.1:<port>/dashboard.

Common gotchas

  • Vector-dim mismatch. Creating a collection with size = 1536 and then inserting 768-dim vectors fails silently at insert time with a Qdrant error the API caller has to handle. The agent's Diagnose tab is the right surface for "why isn't anything searching what I just indexed" — it can correlate the indexer's logs against the inspector's collection list.
  • gRPC. v1 binds REST only. If your client library defaults to gRPC, either flip it to REST or use a process/container service with the upstream image (which exposes both).

Escape hatch

container against qdrant/qdrant for a config we don't expose, or remote for Qdrant Cloud.