WeaviateStorage
BaseVectorStorage
for interacting with
Weaviate, a cloud-native vector search engine.
This class provides multiple ways to connect to Weaviate instances:
- Weaviate Cloud (WCD)
- Local Docker/Kubernetes instances
- Embedded Weaviate
- Custom connection parameters
- vector_dim (int): The dimension of storing vectors.
- collection_name (Optional[str], optional): Name for the collection in Weaviate. If not provided, generates a unique name based on current timestamp. (default: :obj:
None
) - connection_type (ConnectionType, optional): Type of connection to use. Supported types: ‘local’, ‘cloud’, ‘embedded’, ‘custom’. (default: :obj:
"local"
) # Weaviate Cloud parameters - wcd_cluster_url (Optional[str], optional): Weaviate Cloud cluster URL. Required when connection_type=‘cloud’.
- wcd_api_key (Optional[str], optional): Weaviate Cloud API key. Required when connection_type=‘cloud’. # Local instance parameters
- local_host (str, optional): Local Weaviate host. (default: :obj:
"localhost"
) - local_port (int, optional): Local Weaviate HTTP port. (default: :obj:
8080
) - local_grpc_port (int, optional): Local Weaviate gRPC port. (default: :obj:
50051
) - local_auth_credentials (Optional[Union[str, Any]], optional): Authentication credentials for local instance. Can be an API key string or Auth object. (default: :obj:
None
) # Embedded Weaviate parameters - embedded_hostname (str, optional): Embedded instance hostname. (default: :obj:
"127.0.0.1"
) - embedded_port (int, optional): Embedded instance HTTP port. (default: :obj:
8079
) - embedded_grpc_port (int, optional): Embedded instance gRPC port. (default: :obj:
50050
) - embedded_version (Optional[str], optional): Weaviate version for embedded instance. If None, uses the default version. (default: :obj:
None
) - embedded_persistence_data_path (Optional[str], optional): Directory for embedded database files. (default: :obj:
None
) - embedded_binary_path (Optional[str], optional): Directory for Weaviate binary. (default: :obj:
None
) - embedded_environment_variables (Optional[Dict[str, str]], optional): Environment variables for embedded instance. (default: :obj:
None
) # Custom connection parameters - custom_http_host (Optional[str], optional): Custom HTTP host.
- custom_http_port (Optional[int], optional): Custom HTTP port.
- custom_http_secure (Optional[bool], optional): Use HTTPS.
- custom_grpc_host (Optional[str], optional): Custom gRPC host.
- custom_grpc_port (Optional[int], optional): Custom gRPC port.
- custom_grpc_secure (Optional[bool], optional): Use secure gRPC.
- custom_auth_credentials (Optional[Any], optional): Custom auth. # Vector index configuration parameters
- vector_index_type (VectorIndexType, optional): Vector index type. Supported types: ‘hnsw’, ‘flat’. (default: :obj:
"hnsw"
) - distance_metric (DistanceMetric, optional): Distance metric for vector similarity. Supported metrics: ‘cosine’, ‘dot’, ‘l2-squared’, ‘hamming’, ‘manhattan’. (default: :obj:
"cosine"
) # Common parameters for all connection types - headers (Optional[Dict[str, str]], optional): Additional headers for third-party API keys (e.g., OpenAI, Cohere). (default: :obj:
None
) - additional_config (Optional[Any], optional): Advanced configuration options like timeouts. (default: :obj:
None
) - skip_init_checks (bool, optional): Skip initialization checks. (default: :obj:
False
)
init
_get_connection_client
_create_cloud_client
_create_local_client
_create_embedded_client
_create_custom_client
del
close
_generate_collection_name
_check_and_create_collection
_collection_exists
_get_vector_index_config
_create_collection
add
- records (List[VectorRecord]): List of vector records to be saved. **kwargs (Any): Additional keyword arguments.
delete
- ids (List[str]): List of unique identifiers for the vectors to be deleted. **kwargs (Any): Additional keyword arguments.
_calculate_similarity_from_distance
- distance (Optional[float]): The distance value from Weaviate.
status
query
- query (VectorDBQuery): The query object containing the search vector and the number of top similar vectors to retrieve. **kwargs (Any): Additional keyword arguments.