from pydantic import BaseModel
from pydantic_settings import BaseSettings, SettingsConfigDict


class QdrantDatabase(BaseModel):
    url: str
    api_key: str
    embedding_dim: int = 512
    model: str = "sentence-transformers/distiluse-base-multilingual-cased-v1"


class LlmProvider(BaseModel):
    model: str
    api_key: str


class Settings(BaseSettings):
    qdrant_database: QdrantDatabase
    llm_provider: LlmProvider

    model_config = SettingsConfigDict(
        case_sensitive=False, env_nested_delimiter="__", env_file=".env"
    )


settings = Settings()