from typing import Optional from pydantic import Field, PositiveInt from pydantic_settings import BaseSettings class WeaviateConfig(BaseSettings): """ Configuration settings for Weaviate vector database """ WEAVIATE_ENDPOINT: Optional[str] = Field( description="URL of the Weaviate server (e.g., 'http://localhost:8080' or 'https://weaviate.example.com')", default=None, ) WEAVIATE_API_KEY: Optional[str] = Field( description="API key for authenticating with the Weaviate server", default=None, ) WEAVIATE_GRPC_ENABLED: bool = Field( description="Whether to enable gRPC for Weaviate connection (True for gRPC, False for HTTP)", default=True, ) WEAVIATE_BATCH_SIZE: PositiveInt = Field( description="Number of objects to be processed in a single batch operation (default is 100)", default=100, )