vector_store.py
1 """Vector store configuration.""" 2 3 4 from pydantic import Field 5 from pydantic_settings import BaseSettings 6 7 from src.vector_stores.types import VectorStoreType 8 9 10 class VectorStoreConfig(BaseSettings): 11 """Vector store configuration.""" 12 13 store_name: VectorStoreType = Field( 14 default=VectorStoreType.CHROMADB, 15 description="Vector store type", 16 ) 17 store_config: dict | None = Field( 18 default=None, 19 description=( 20 "Store-specific configuration dictionary. " 21 "Required keys: persist_directory (str), collection_name (str). " 22 "For Qdrant: also include 'url' (str, default: 'http://localhost:6333'). " 23 "For ChromaDB: no additional config needed beyond persist_directory and collection_name." 24 ), 25 ) 26