For the complete documentation index, see llms.txt. This page is also available as Markdown.

CLI: embedding spaces

Create spaces, load JSONL vectors, upsert individual vectors, and run scoped vector search.

Outcome: Create spaces, load JSONL vectors, upsert individual vectors, and run scoped vector search.

unitlab embeddings create "clip-vit-l14" --dimensions 768 --model-name ViT-L/14 --json
unitlab embeddings upload SPACE_ID embeddings.jsonl --json
unitlab embeddings upsert SPACE_ID ASSET_ID vector.json --frame-index 12 --json
unitlab embeddings search SPACE_ID query-vector.json --limit 25 --project-id PROJECT_ID --level frame --json

Each JSONL line must contain asset_id and vector; frame-level records may include frame_index. Empty files, malformed JSON, missing fields, dimension mismatches, and invalid search limits fail before or during the operation.

Operating contract

Concern
Required behavior

Execution surface

Pinned unitlab==3.0.0 command in the intended Python 3.10+ environment.

Machine contract

Use --json; human-readable output is not an automation interface.

Target resolution

Resolve stable IDs with a read command before a state-changing command.

Success evidence

Exit status, JSON result, returned IDs, and a read-after-write state check.

Failure and recovery boundary

Condition
Response

Authentication or authorization fails

Stop, correct the service identity or access model, rotate exposed credentials, and rerun a read-only check.

Validation or entitlement rejects the operation

Correct the input or entitlement; do not retry an unchanged request.

A request times out

Inspect remote state before repeating a mutation because the server may have accepted it.

Asynchronous processing exceeds its deadline

Preserve the Batch Queue or release ID, continue bounded monitoring, and inspect item-level failures.

Only part of a batch succeeds

Keep successful identifiers, isolate failed rows, and retry only the corrected subset.


Continue with Unitlab: multimodal data curation