Skip to main content
Initializes a new CyborgVectorStore instance for use with LangChain.
CyborgVectorStore(
    index_name: str,
    index_key: bytes | list[int] | tuple[int, ...] | np.ndarray,
    api_key: str,
    embedding: Embeddings,
    index_location: DBConfig,
    config_location: DBConfig,
    items_location: Optional[DBConfig] = None,
    index_type: str = "ivfsq",
    index_config_params: Optional[Dict[str, Any]] = None,
    dimension: Optional[int] = None,
    metric: str = "cosine",
    gpu_config: Optional[GPUConfig] = None
)

Parameters

ParameterTypeDescription
index_namestrName of the index (must be unique)
index_keybytes | list[int] | tuple[int, ...] | np.ndarray32-byte encryption key for securing index data
api_keystrAPI key for CyborgDB authentication
embeddingEmbeddingsLangChain Embeddings instance
index_locationDBConfigConfiguration for index data storage location
config_locationDBConfigConfiguration for index config storage location
items_locationOptional[DBConfig](Optional) Location for item data storage (default: memory)
index_typestrType of index: "ivfflat", "ivfpq", or "ivfsq" (default: "ivfsq")
index_config_paramsOptional[Dict[str, Any]](Optional) Additional index configuration parameters
dimensionOptional[int](Optional) Embedding dimension (auto-inferred if not provided)
metricstrDistance metric: "cosine", "euclidean", or "squared_euclidean" (default: "cosine")
gpu_configOptional[GPUConfig](Optional) GPU configuration for accelerated operations

Returns

CyborgVectorStore: Initialized vector store instance

Example Usage

from cyborgdb_core.integrations.langchain import CyborgVectorStore
from cyborgdb_core import DBConfig
from langchain_openai import OpenAIEmbeddings

# Generate a secure key
index_key = CyborgVectorStore.generate_key(save=True)

# Initialize with LangChain Embeddings
store = CyborgVectorStore(
    index_name="my_documents",
    index_key=index_key,
    api_key="your-api-key",
    embedding=OpenAIEmbeddings(),
    index_location=DBConfig("redis", connection_string="redis://localhost:6379"),
    config_location=DBConfig("postgres", connection_string="host=localhost dbname=vectordb user=postgres"),
    index_type="ivfsq",
    metric="cosine"
)

Exceptions

  • Throws if index_type is invalid
  • Throws if no embedding model provided and dimension not specified