Skip to main content
Get started with CyborgDB in minutes.
1

Get an API Key

To use CyborgDB, you need an API key. The quickest way to get started is with a demo key:
import cyborgdb_core as cyborgdb

# Get a demo API key for evaluation
api_key = cyborgdb.get_demo_api_key()
For production use, get a full API key from the CyborgDB Admin Dashboard. For more info, follow this guide.Make sure to keep your API key secure and do not share it publicly.
2

Install CyborgDB

Install CyborgDB on your machine:
# Install CyborgDB:
pip install cyborgdb-core

# For automatic embedding generation, install with:
pip install cyborgdb-core[embeddings]

# For LangChain integration, install with:
pip install cyborgdb-core[langchain]

# Or with all extras:
pip install cyborgdb-core[all]
You will need to replace <token> with your token provided by Cyborg.
3

Create a Client

Create a CyborgDB client:
import cyborgdb_core as cyborgdb
import secrets

# Using `rocksdb` for simple persistent local storage
# `redis`, `postgres`, `memory`, and `threadsafememory` are also supported

index_location = cyborgdb.DBConfig("rocksdb")  # Where encrypted index is stored (for queries)
config_location = cyborgdb.DBConfig("rocksdb") # Where encrypted index config is stored (for config/loading)
items_location = cyborgdb.DBConfig("rocksdb")  # Where item contents are stored (for upsert/get)

# Get your API key (use get_demo_api_key() for evaluation, or your own key)
api_key = cyborgdb.get_demo_api_key()

# Create a client
client = cyborgdb.Client(
    api_key=api_key,
    index_location=index_location,
    config_location=config_location,
    items_location=items_location
)
For more info, refer to Create a Client.
4

Create an Encrypted Index

Create an encrypted index with CyborgDB:
# ... Continuing from the previous step

# Generate an encryption key for the index
index_key = secrets.token_bytes(32)

# Create an encrypted index
index = client.create_index(
    index_name="my_index", 
    index_key=index_key
)
For more info, refer to Create an Encrypted Index.
5

Add Items to Encrypted Index

Add data to the encrypted index via Upsert:
# ... Continuing from the previous step

# Add items to the encrypted index
items = [
    {"id": "item_1", "vector": [0.1, 0.2, 0.3, 0.4], "contents": "Hello!"},
    {"id": "item_2", "vector": [0.5, 0.6, 0.7, 0.8], "contents": "Bonjour!"},
    {"id": "item_3", "vector": [0.9, 0.10, 0.11, 0.12], "contents": "Hola!"}
]

index.upsert(items)
For more info, refer to Add Items.
6

Query Encrypted Index

Query the encrypted index for similar vectors.
# ... Continuing from the previous step

# Query the encrypted index
query_vectors = [0.1, 0.2, 0.3, 0.4]
results = index.query(query_vectors=query_vectors)

# Print the results
for result in results:
    print(f"ID: {result['id']}, Distance: {result['distance']}")
For more info, refer to Query an Encrypted Index.
7

Retrieve Items from Encrypted Index

Retrieve data from the encrypted index:
# ... Continuing from the previous step

# Retrieve items from the encrypted index
ids = ["item_1", "item_2", "item_3"]
items = index.get(ids)

# Print the items
for item in items:
    print(f"ID: {item['id']}, Vector: {item['vector']}, Contents: {item['contents']}")
For more info, refer to Get Items.