haive.core.engine.vectorstore.discovery¶
Vector Store Provider Discovery and Management.
This module provides utilities for discovering, comparing, and configuring vector store providers within the Haive framework. It offers comprehensive information about all available vector store backends.
Examples
Basic discovery:
from haive.core.engine.vectorstore.discovery import get_vectorstore_providers
providers = get_vectorstore_providers()
print(f"Available: {list(providers.keys())}")
Get provider recommendations:
from haive.core.engine.vectorstore.discovery import recommend_vectorstore
# For development
dev_stores = recommend_vectorstore("development")
print(f"For development: {dev_stores}")
# For production
prod_stores = recommend_vectorstore("production")
print(f"For production: {prod_stores}")
Classes¶
Cost structure for vector stores. |
|
Comprehensive information about a vector store provider. |
|
Categories of vector stores. |
Functions¶
|
Compare multiple vector store providers. |
|
Filter vector stores by criteria. |
|
Get setup instructions for a vector store provider. |
Get comprehensive information about all vector store providers. |
|
|
Get vector store recommendations for specific use cases. |
Module Contents¶
- class haive.core.engine.vectorstore.discovery.CostTier[source]¶
-
Cost structure for vector stores.
Initialize self. See help(type(self)) for accurate signature.
- class haive.core.engine.vectorstore.discovery.VectorStoreInfo[source]¶
Comprehensive information about a vector store provider.
- class haive.core.engine.vectorstore.discovery.VectorStoreType[source]¶
-
Categories of vector stores.
Initialize self. See help(type(self)) for accurate signature.
- haive.core.engine.vectorstore.discovery.compare_vectorstores(provider_names)[source]¶
Compare multiple vector store providers.
- Parameters:
provider_names (list[str]) – List of provider names to compare
- Returns:
Comparison table as formatted string
- Return type:
Examples
Compare popular stores:
comparison = compare_vectorstores(["Chroma", "Pinecone", "FAISS"]) print(comparison)
- haive.core.engine.vectorstore.discovery.filter_vectorstores(type_filter=None, cost_filter=None, auth_required=None, supports_metadata=None, supports_hybrid=None, setup_complexity=None)[source]¶
Filter vector stores by criteria.
- Parameters:
type_filter (VectorStoreType | None) – Filter by store type
cost_filter (CostTier | None) – Filter by cost tier
auth_required (bool | None) – Filter by auth requirement
supports_metadata (bool | None) – Filter by metadata support
supports_hybrid (bool | None) – Filter by hybrid search support
setup_complexity (str | None) – Filter by setup complexity
- Returns:
Filtered dictionary of vector stores
- Return type:
Examples
Get free, easy-setup stores:
stores = filter_vectorstores( cost_filter=CostTier.FREE, setup_complexity="easy" )
Get hybrid search capable stores:
stores = filter_vectorstores(supports_hybrid=True)
- haive.core.engine.vectorstore.discovery.get_setup_instructions(provider_name)[source]¶
Get setup instructions for a vector store provider.
- Parameters:
provider_name (str) – Name of the vector store provider
- Returns:
Setup instructions as formatted string
- Return type:
Examples
Get Chroma setup:
instructions = get_setup_instructions("Chroma") print(instructions)
- haive.core.engine.vectorstore.discovery.get_vectorstore_providers()[source]¶
Get comprehensive information about all vector store providers.
- Returns:
Dictionary mapping provider name to VectorStoreInfo
- Return type:
Examples
Get all providers:
providers = get_vectorstore_providers() for name, info in providers.items(): print(f"{name}: {info.description}")
- haive.core.engine.vectorstore.discovery.recommend_vectorstore(use_case)[source]¶
Get vector store recommendations for specific use cases.
- Parameters:
use_case (str) – Use case (“development”, “production”, “research”, “enterprise”, “free_only”, “local_only”)
- Returns:
List of recommended vector store names
- Return type:
Examples
Get development recommendations:
dev_stores = recommend_vectorstore("development") # Returns: ["Chroma", "InMemory", "FAISS"]
Get production recommendations:
prod_stores = recommend_vectorstore("production") # Returns: ["Pinecone", "Qdrant", "Weaviate"]