Skip to content

Choose a backend

The runtime prepares and plans QQL once, then dispatches through a QdrantOps implementation.

REST

Port 6333

Broad compatibility, inspectable OpenAPI JSON, and the default choice for browser-like transports.

gRPC

Port 6334

Typed protobuf transport with query and mutation batching. Enable the runtime grpc feature.

Edge

In process

Local HNSW storage and optional embedded models. No remote cluster administration and a deliberately smaller query subset. See the dedicated Edge section for capabilities and limits.

Use Executor::rest(url, api_key) or Executor::grpc(url, api_key) for remote execution. The edge packages construct an in-process backend and expose it through Python, Node.js, or the CLI. The Edge overview explains when in-process execution fits, and Edge capabilities lists exactly which statements and features the edge backend supports.

QQLTransport-neutral queryTry in playground
QUERY TEXT 'local first retrieval' FROM notes
USING dense
WHERE workspace = 'personal'
LIMIT 10;

The statement does not encode a transport. Backend-specific limits are reported during planning or execution.

The qql runtime enables REST and gRPC by default. Disable unused features for smaller native builds. Edge and embedded FastEmbed support are opt-in because they carry more code and model dependencies.