Skip to main content
To create an encrypted index, you need to specify an index name (must be unique) and an index key:
This creates a new DiskIVF encrypted index. The vector dimension is auto-detected from the first upsert (or derived from an embedding_model); you can also set it explicitly with the keyword-only dimension parameter. Other optional parameters include metric ("euclidean" default, "cosine", or "squared_euclidean") and storage_precision (float32 default, or float16 to halve the on-disk rerank-vector footprint).
Store index_key before you upsert any data. CyborgDB has no key-recovery path — data encrypted with a lost key is unrecoverable. For anything past evaluation, keep the key in AWS Secrets Manager, Vault, or your KMS. See Managing Keys.
To lift the free-tier 1M-items-per-index cap, pass an API key as the first argument (cyborgdb.Client(api_key, storage_config=...) in Python; cyborg::Client(api_key, ...) in C++). Get a key from the CyborgDB Admin Dashboard. See Get an API Key.

Automatic Embedding Generation

This feature is only available in Python. To use it, use pip install cyborgdb-core[embeddings]
In the Python version of CyborgDB, you can enable automatic embedding generation for the encrypted index by setting embedding_model in create_index():
Python

API Reference

For more information on creating encrypted indexes, refer to the API reference:

Python API Reference

API reference for create_index() in Python

C++ API Reference

API reference for CreateIndex() in C++