from typing import Literal from pydantic_settings import BaseSettings from pydantic import Field, ConfigDict class Settings(BaseSettings): llm_provider: Literal["openai", "gemini"] = "openai" llm_model: str = "gpt-4o-mini" embedding_model: str = "text-embedding-3-large" openai_api_key: str = Field(default="", json_schema_extra={"env": "OPENAI_API_KEY"}) gemini_api_key: str = Field(default="", json_schema_extra={"env": "GEMINI_API_KEY"}) api_secret_key: str = Field( default="secret", json_schema_extra={"env": "API_SECRET_KEY"} ) chroma_persist_dir: str = "./storage/chroma" top_k: int = 30 top_n_context: int = 6 max_tokens_completion: int = 1024 langgraph_tracing: bool = False service_lang: str = "ru" sales_rep_name: str = "Команда Консоль.Про" chunk_size: int = 500 chunk_overlap: int = 100 model_config = ConfigDict(env_file=".env") settings = Settings()