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.

  1. 01

    Define corpus owners, users, source permissions, languages and modalities, freshness, chunking, metadata, access filters, relevance targets, latency, retention, and deletion requirements.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Check the current product documentation.