/ src / config / vector_store.py
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