dodil k3 vector templates
Browse the vector-pillar template catalog. Server pins category=embedding — only embedding templates (*_embedding_index pairs) come back.
dodil k3 vector templates [--search TEXT] [--label KEY=VALUE]The catalog is org-scoped — same templates regardless of which bucket you call from. The
-b / --bucketflag is inherited from the parentdodil k3 vectorgroup and accepted but ignored by the server on this subcommand; you can omit it.
| Flag | Type | Description |
|---|---|---|
--search | string | Free-text match against name + description |
--label | string list (repeat) | Filter by label key=value. Repeat for multiple — all must match (AND). |
Examples
# All vector-pillar templates
dodil k3 vector templates -o json | jq '.templates[] | {id, modalities}'
# Free-text search
dodil k3 vector templates --search code
# Label filter — only image-modality templates
dodil k3 vector templates --label modality=image
# Compose — text-modality + ready status
dodil k3 vector templates --label modality=text --label status=ready
--categoryis not exposed. Vector templates are alwayscategory=embedding; nothing to filter on. Use--searchand--labelto narrow.
The vector catalog at a glance
Each vector template ships as an index + search pair — you create a collection with the _index variant via dodil k3 vector collection add, then the matching _search variant runs query-side automatically.
| Template (index) | Modality | Use case |
|---|---|---|
text_embedding_index | text, pdf, docx, html, audio, video | Canonical RAG ingest. Chunks + embeds documents. |
code_embedding_index | code (rust, python, javascript, typescript, go, java, c, cpp, …) | AST-aware chunking (tree-sitter) at function / class boundaries |
visual_embedding_index | image, video, audio, pdf | Multimodal — frames / spectrograms / page renders |
face_embedding_index | image | SCRFD detection + face embeddings |
object_embedding_index | image | Open-vocabulary object detection embeddings (requires labels template input — use API) |
Full descriptions: Pipelines → Templates → The catalog.
Inspect a template’s contract
To see what inputs a template requires (especially template_inputs for AddVectorPipeline), use the top-level dodil k3 template get:
dodil k3 template get text_embedding_index -o json | jq '{name, description, modalities, contract: .contract.inputs}'
dodil k3 vector templatesvsdodil k3 template listvsdodil k3 table templates— same--search/--labelfilter shape across all three.dodil k3 template listreturns all templates across pillars;dodil k3 vector templatesfilters tocategory=embedding;dodil k3 table templatesfilters towarehouse_compatible=true. All three are org-scoped (no-bneeded).
Using a template — the canonical flow
# 1. Browse — pick a template
dodil k3 vector templates -o json | jq '.templates[] | {id, modalities, acceptedExtensions}'
# 2. Inspect its contract (what inputs it requires)
dodil k3 template get text_embedding_index -o json | jq '.contract.inputs'
# 3. Create a collection bound to it
dodil k3 vector collection add docs -b kb-prod \
--template text_embedding_index \
--description "RAG corpus"
# 4. Upload a document — auto-generated ingest rule fires
dodil k3 object create ./paper.pdf -b kb-prod -k papers/paper.pdf
# 5. Search
dodil k3 search "your query" -b kb-prod -c docsFor the full recipe (including the auto-generated pipeline + rule + multi-document ingest), see Recipes → Pipeline Collection.
See also
- Templates — API Reference — vector catalog spec
dodil k3 template— top-level org-wide template browse (all pillars) +template getdodil k3 table templates— Tables-pillar variant (warehouse-compatible)- Pipelines → Templates → The catalog — full 24-template list with one-line descriptions
dodil k3 vector collection add— spawn a collection from a template