The Client
class provides an interface to initialize, create, load and list Encrypted Indexes. Encrypted Indexes, in turn, expose data-related functionality such as upserting, querying, and deleting.
To create the client, you must define the backing store locations which it will use. At minimum, you must set an index_location
(where the index will reside) and a config_location
(where the index metadata will reside). For example:
Bear in mind that all contents stored in the backing stores is end-to-end encrypted, meaning that no index contents will be stored in plaintext. For performance reasons, you may wish to use a “fast” backing store option for index_location
, such as Redis.
If you wish to store encrypted items in the index, you will also need to set a item_location
:
Item contents will be encrypted prior to being uploaded to the backing store. In most applications, these are accessed less frequently than the index, so a “slower” backing store option can be used, such as PostgreSQL.
Cyborg Vector Search can be accelerated in two ways:
OpenMP
) -> can scale with the number of CPU cores availableCUDA
& cuVS
) -> can increase the speed of certain operations (e.g., ingestion) by an order of magnitude.You can control either of these with the optional cpu_threads
and gpu_accelerate
flags:
gpu_accelerate
can only be set to True
if running on a CUDA-enabled system with the CUDA driver installed.By default, cpu_threads
will use all available cores, and gpu_accelerate
will be set to False
.
For more information on the Client
class, refer to the API Reference:
API reference for Client
in Python
API reference for cyborg::Client
in C++
The Client
class provides an interface to initialize, create, load and list Encrypted Indexes. Encrypted Indexes, in turn, expose data-related functionality such as upserting, querying, and deleting.
To create the client, you must define the backing store locations which it will use. At minimum, you must set an index_location
(where the index will reside) and a config_location
(where the index metadata will reside). For example:
Bear in mind that all contents stored in the backing stores is end-to-end encrypted, meaning that no index contents will be stored in plaintext. For performance reasons, you may wish to use a “fast” backing store option for index_location
, such as Redis.
If you wish to store encrypted items in the index, you will also need to set a item_location
:
Item contents will be encrypted prior to being uploaded to the backing store. In most applications, these are accessed less frequently than the index, so a “slower” backing store option can be used, such as PostgreSQL.
Cyborg Vector Search can be accelerated in two ways:
OpenMP
) -> can scale with the number of CPU cores availableCUDA
& cuVS
) -> can increase the speed of certain operations (e.g., ingestion) by an order of magnitude.You can control either of these with the optional cpu_threads
and gpu_accelerate
flags:
gpu_accelerate
can only be set to True
if running on a CUDA-enabled system with the CUDA driver installed.By default, cpu_threads
will use all available cores, and gpu_accelerate
will be set to False
.
For more information on the Client
class, refer to the API Reference:
API reference for Client
in Python
API reference for cyborg::Client
in C++