haive.core.engine.vectorstore.VectorStoreProvider¶
- class haive.core.engine.vectorstore.VectorStoreProvider(*values)[source]¶
Enumeration of supported vector store providers.
This enum defines the built-in vector store providers supported by the Haive framework. Each provider corresponds to a specific vector database implementation with its own features, capabilities, and requirements.
The enum can be dynamically extended at runtime using the extend() method or through the VectorStoreProviderRegistry, allowing for custom providers without modifying the core code.
Examples
>>> from haive.core.engine.vectorstore import VectorStoreProvider >>> # Using an enum value >>> provider = VectorStoreProvider.FAISS >>> str(provider) 'FAISS' >>> # Checking if a value is in the enum >>> "Chroma" in [p.value for p in VectorStoreProvider] True
- classmethod extend(name, value)[source]¶
Extend the enum with a new provider value.
- Parameters:
- Return type:
None
Note
This is a workaround to extend an Enum at runtime. For proper type hinting, use the VectorStoreProviderRegistry instead.
- AZURE_SEARCH = 'AzureSearch'¶
- CASSANDRA = 'Cassandra'¶
- CHROMA = 'Chroma'¶
- CLICKHOUSE = 'ClickHouse'¶
- ELASTICSEARCH = 'Elasticsearch'¶
- FAISS = 'FAISS'¶
- IN_MEMORY = 'InMemory'¶
- LANCEDB = 'LanceDB'¶
- MILVUS = 'Milvus'¶
- MONGODB_ATLAS = 'MongoDBAtlas'¶
- NEO4J = 'Neo4j'¶
- OPENSEARCH = 'OpenSearch'¶
- PGVECTOR = 'PGVector'¶
- PINECONE = 'Pinecone'¶
- QDRANT = 'Qdrant'¶
- REDIS = 'Redis'¶
- SUPABASE = 'Supabase'¶
- TYPESENSE = 'Typesense'¶
- WEAVIATE = 'Weaviate'¶
- ZILLIZ = 'Zilliz'¶