from typing import Optional from pydantic import Field, NonNegativeInt, PositiveInt from pydantic_settings import BaseSettings class QdrantConfig(BaseSettings): """ Configuration settings for Qdrant vector database """ QDRANT_URL: Optional[str] = Field( description="URL of the Qdrant server (e.g., 'http://localhost:6333' or 'https://qdrant.example.com')", default=None, ) QDRANT_API_KEY: Optional[str] = Field( description="API key for authenticating with the Qdrant server", default=None, ) QDRANT_CLIENT_TIMEOUT: NonNegativeInt = Field( description="Timeout in seconds for Qdrant client operations (default is 20 seconds)", default=20, ) QDRANT_GRPC_ENABLED: bool = Field( description="Whether to enable gRPC support for Qdrant connection (True for gRPC, False for HTTP)", default=False, ) QDRANT_GRPC_PORT: PositiveInt = Field( description="Port number for gRPC connection to Qdrant server (default is 6334)", default=6334, )