Vector — CLI Guide
The Vector domain spans three dodil k3 vector sub-groups plus one top-level dodil k3 search command:
| Page | Subcommands | Maps to API |
|---|---|---|
dodil k3 vector store — engine | create (auto/external) · get · delete · list-instances | Engine |
dodil k3 vector collection | add (pipeline-mode) · add-manual (external-mode) · get · list · delete | Collections |
dodil k3 search — top-level | [query] -c COLLECTION (text queries only) | Search |
dodil k3 vector templates | with --search / --label server-side filters | Templates |
For install, auth, output format, and global flags see CLI Basics. For the underlying API contracts see Vector — API Reference.
Quick session
# 1. Configure the engine (one-time per bucket)
dodil k3 vector store create -b kb-prod -m auto
# Wait for status = ENGINE_STATUS_ACTIVE
dodil k3 vector store get -b kb-prod -o json | jq '.status'
# 2. Browse templates and pick one
dodil k3 vector templates -o json | jq '.templates[] | {id, modalities}'
# 3. Create a pipeline-mode collection
dodil k3 vector collection add docs -b kb-prod \
--description "RAG corpus" \
--template text_embedding_index
# 4. Upload a document — ingest is automatic (auto-generated rule fires)
dodil k3 object create ./paper.pdf -b kb-prod -k papers/paper.pdf
# 5. Search
dodil k3 search "what is multi-head attention" -b kb-prod -c docs -o jsonSee the Quickstart for the same flow with prose annotations.
CLI surface vs API surface
The CLI covers the most-common operations. Anything missing has a direct HTTP equivalent in the API Reference.
| Domain | API coverage | CLI coverage | Use API directly for |
|---|---|---|---|
| Engine | ConfigureEngine (3 modes — auto / external / pick) · GetEngine · DeleteEngine (with delete_database flag) · ListVBaseInstances | vector store create (auto fully; external mode flag exists but endpoint/db-name flags missing) · get · delete (no --delete-database) · list-instances | external mode endpoint configuration · pick mode (service_id) · delete_database: true · service-account-id passthrough |
| Collection | AddVectorPipeline (with template_inputs) · AddVectorCollection (all 5 dense types + 3 sparse modes) · ListCollections · GetCollection · DeleteCollection | vector collection add (pipeline; no template_inputs) · add-manual (FLOAT + cosine + dense-only) · get · list · delete | template_inputs map for AddVectorPipeline · sparse_mode / embedding_type on AddVectorCollection · binary/float16/bfloat16/int8 dense types |
| Search | Search (text · vector · s3_key shapes, VECTOR/HYBRID/AUTO modes, multi-collection, rerank, pre-filter, fast-lane tuning) | dodil k3 search — text query only; --collection, --top-k, --min-score | Vector + s3_key query shapes · search_mode · rerank + rerank_text · pre_filter · multi-collection (empty collection_name) · include_content / include_highlights · Milvus tuning (ef, nprobe, partition_names) |
| Vectors (direct writes) | InsertVectors · UpsertVectors · DeleteVectors | none | All — use the API |
| Templates | ListTemplates (category=embedding pinned) | vector templates with --search / --label server-side filters | — ✅ complete |
Global flags worth knowing
| Flag | Short | Required | Where |
|---|---|---|---|
--bucket | -b | yes for most | persistent on vector store + vector collection; accepted-but-ignored on vector templates |
--output | -o | no | table (default) · json — pick json for piping into jq |
dodil k3 search takes --bucket as a regular flag (not persistent).
For all global flags (--api-endpoint, --token, --org, --timeout, etc.) see CLI Basics → Global Flags.
See also
- API Reference — full Vector surface (13 RPCs)
- Quickstart — first collection + first search in 5 minutes
- Core Concepts — Engine, Collection, VectorRecord, search shapes, enums
- Recipes — pipeline collection, external collection, multi-collection search, hybrid + rerank, multimodal