Safe Rollouts
Branch your retrieval config, test changes, compare metrics, then promote or rollback. No more YOLO deploys.
Version, branch, and promote across your entire retrieval stack. Embeddings, storage, and vector DBs in one control plane.
# 1. Create a staging branch
branch = client.datasets.branch(
source="prod-docs",
name="test-new-model"
)
# 2. Test new embedding model
branch.embed(model="text-embedding-3-large")
metrics = branch.evaluate(queries=eval_set)
# 3. Promote or rollback
if metrics.recall > 0.92:
branch.promote(to="production")
else:
branch.discard()Branch your retrieval config, test changes, compare metrics, then promote or rollback. No more YOLO deploys.
Retrieval quality dropped? Revert to any previous state in seconds. Your old embeddings are always there.
Decouple your data from any single vector DB. Switch Pinecone to Qdrant without regenerating vectors.
Compare retrieval configs side-by-side. Know exactly which model, chunking, storage, and index produced each result.
See which retrieval config is live, when it was deployed, and the full lineage of every change.
Pin model + chunking + dataset version. Reproduce any past retrieval behavior exactly.
Test retrieval changes in staging before production. Compare metrics, then promote with confidence.
Retrieval quality dropped after a model change? Rollback in seconds. No re-embedding required.
Store embeddings once, push to any vector DB. Switch providers without regenerating vectors.