qql-cli-0.1.5 is not a library.
qql-cli
CLI + REPL for QQL: remote Qdrant (REST/gRPC), convert, dump, doctor, optional edge.
Install
# Default: rest + grpc
# REST only (smaller)
# Edge + FastEmbed (opt-in; heavier)
Binary: target/release/qql.
Commands
| Command | Role |
|---|---|
qql exec "…" |
One statement (--json, --quiet) |
qql execute file.qql |
Script |
qql explain "…" |
Plan without Qdrant |
qql connect |
REPL |
qql convert [file.json] |
REST JSON → QQL |
qql dump <coll> out.qql |
Export collection as QQL |
qql doctor |
Health + embed host snapshot |
qql --edge … |
Use configured local edge backend |
qql version |
Version |
Configuration
| Variable | Default | Role |
|---|---|---|
QDRANT_URL |
http://localhost:6333 |
REST/gRPC URL (:6334 tends to select gRPC when enabled) |
QDRANT_API_KEY |
— | Auth |
EMBED_URL |
— | OpenAI-compatible embeddings |
EMBED_MODEL |
all-minilm:l6-v2 |
Model id |
EMBED_DIM |
384 |
Dimension |
Global: qql --url http://host:6333 exec "…".
Edge
Config: ~/.qql/edge.json. Edge does not support custom SHARD / CREATE SHARD KEY
or GROUP BY — use remote Qdrant for those.
Multitenancy examples
CREATE SHARD KEY 'acme' ON COLLECTION docs WITH (shards_number = 2);
QUERY TEXT 'risks' FROM docs USING dense
WHERE tenant_id = 'acme'
SHARD 'acme'
LIMIT 10;
Script format
Semicolon-separated statements. -- comments OK.
CREATE COLLECTION docs (dense VECTOR(384, COSINE));
UPSERT INTO docs VALUES {id: 1, text: 'first document'}
USING DENSE MODEL 'all-minilm:l6-v2';
QUERY TEXT 'search' FROM docs USING dense LIMIT 10;
Features
| Feature | Default | Role |
|---|---|---|
rest |
yes | REST |
grpc |
yes | gRPC |
edge |
no | In-process edge + FastEmbed |
Docs
- Syntax · Install skill · Gaps