Skip to main content

Evaluation Version of CyborgDB: The Confidential Vector Database

Project description

CyborgDB Lite

PyPI - Version PyPI - Python Version

CyborgDB Lite is an evaluation-only/non-commercial preview of CyborgDB, the first Confidential Vector Database. It enables you to ingest & search vectors emeddings in a privacy-preserving manner, without revealing the contents of the vectors themselves. CyborgDB works with existing DBs (e.g., Postgres, Redis) and enables you to add, query and retrieve vector embeddings with transparent end-to-end encryption.

Why Confidential?

Vector Search is at the heart of popular AI applications like RAG, recommendation systems, and semantic search. CyborgDB Lite leverages cryptographic hashing and symmetric encryption to enable Approximate Nearest-Neighbor (ANN) search over encrypted space, keeping your vector embeddings secure throughout their lifecycle.

Key Features

  • End-to-End Encryption: Vector embeddings remain encrypted throughout their lifecycle, including at search time
  • Zero-Trust Design: Novel architecture keeps confidential inference data secure
  • High Performance: GPU-accelerated indexing and retrieval with CUDA support
  • Familiar API: Easy integration with existing AI workflows
  • Multiple Backing Stores: Works with PostgreSQL, Redis, and in-memory storage
  • Cloud Ready: Supports AWS RDS, AWS ElastiCache, Azure Database for PostgreSQL, Azure Cache for Redis, Google Cloud SQL, and Google Cloud Memorystore

Installation

# Ensure Python 3.9 - 3.13 is installed
# You may want to create a virtual environment:
conda create -n cyborg-env python=3.12
conda activate cyborg-env

# Install CyborgDB Lite:
pip install cyborgdb-lite

Quickstart

import cyborgdb_lite as cyborgdb
import secrets

# Create a client with memory storage
# You can replace this with Postgres
index_location = cyborgdb.DBConfig("memory")  # For index contents
config_location = cyborgdb.DBConfig("memory") # For config/loading
items_location = cyborgdb.DBConfig("memory")  # For item contents

# Create a client
client = cyborgdb.Client(index_location, config_location, items_location)

# Create an IVFFlat index
index_config = cyborgdb.IndexIVFFlat(dimension=4, n_lists=1024)

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

# Create an encrypted index
index = client.create_index("my_index", index_key, index_config)

# 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)

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

# Print the results
for result in results:
    print(f"ID: {result.id}, Distance: {result.distance}")

Connecting to Different Backing Stores

PostgreSQL

index_location = cyborgdb.DBConfig(
    location="postgres",
    table_name="index_table", 
    connection_string="host=localhost dbname=cyborgdb_lite user=postgres password=postgres"
)

Limitations

CyborgDB Lite is an evaluation version with the following limitations:

  • Maximum 1,000,000 encrypted embeddings
  • Only 2 supported backing stores (PostgreSQL & Memory)
  • Only 1 index type (IVFFlat)
  • Maximum 4 CPU threads
  • Non-commercial use only

For production use or to remove these limitations, please upgrade to CyborgDB Core.

Documentation

For more detailed documentation, visit:

System Requirements

  • Python 3.9 - 3.13
  • Operating Systems: Linux, macOS, or WSL

License

CyborgDB Lite is provided under a limited, evaluation-only license for non-commercial use. For commercial use, please contact Cyborg for licensing information.

About Cyborg

Cyborg is dedicated to making AI safe and secure. We develop solutions that enable organizations to leverage AI while maintaining the confidentiality and privacy of their data.

Visit our website | Contact Us

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cyborgdb_lite-0.10.0-cp313-cp313-macosx_14_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

cyborgdb_lite-0.10.0-cp312-cp312-macosx_14_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

cyborgdb_lite-0.10.0-cp311-cp311-macosx_14_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

cyborgdb_lite-0.10.0-cp310-cp310-macosx_14_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

cyborgdb_lite-0.10.0-cp39-cp39-macosx_14_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file cyborgdb_lite-0.10.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 88bdd48b1d93ac3d1b71152748e096c87c71cc253bbd2d96cc8cfc68f0f8c259
MD5 879c2f537c3a5ab972980b553704b554
BLAKE2b-256 768bf07ae5d36148889a3adce652b37690de7d1d473ed95ba076a6624a895b53

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.0-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1d0adc20bd48e581606603024a4f5ca40011416919463eb17addad7c01f8cc7e
MD5 e31f9b42f91ccd49983cbf84d855b7ad
BLAKE2b-256 43c36bfb05047016a53443d6d4e661fffc0336faedc32a8a079ee91a14ca78b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cd9a97875e728c203033a2828aee6b7b777f160dd7040c0ef297982ca8bd74b5
MD5 5350a83770af16a73d9785e3c5e88477
BLAKE2b-256 dca74b59bc9b9a516d6f952ed4c402c4438d827170429a7fd5ab5d9f564c94de

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.0-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 995b13fcb30ef76285ebd4f87f6e213f3b4cae18987f2ed43b870fb3fd1704bb
MD5 c80cf0409662d9a2a818186a2032a9df
BLAKE2b-256 d7a0e0d5ddb5797e261144aede555215975b679463b7269134a69f480863214d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.0-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.0-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2d1f217427fb739ddfde35593196984e6f919d44409780afb064c5c34d3a95b9
MD5 edda6276913b72902b872589b6131332
BLAKE2b-256 13f047da35d15d06b7b510d4623969cb2404efdbffccacc25501453650241105

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.0-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page