The outcome
Produce a searchable index that can be evaluated, refreshed, migrated, corrected, and deleted without mixing incompatible vectors or access scopes.
Step by step
A workflow you can repeat.
- 01
Define corpus owners, users, source permissions, languages and modalities, freshness, chunking, metadata, access filters, relevance targets, latency, retention, and deletion requirements.
- 02
Create a dedicated server-side Voyage key, confirm the organization's data opt-out setting, select an exact current model, and record tokenizer, input_type, dimension, datatype, normalization and truncation behavior.
- 03
Parse approved copies, remove secrets and irrelevant metadata, assign stable source and chunk IDs, preserve version and access labels, and embed corpus chunks with input_type=document in bounded batches.
- 04
Store model and preprocessing metadata beside every vector, enforce source permissions before ranking, and test duplicate, empty, oversized, malformed, multilingual, image, deletion, retry and partial-batch cases.
- 05
Publish a versioned index, monitor ingestion failures and drift, re-embed changed sources deliberately, verify removal from index and backups, and keep the previous complete index for rollback.
Working standard
What good use looks like.
- Version every vector with its model.
- Filter permissions before returning results.
- Make deletion traceable to the source.
Official references