ai-email-assistant/src/app/config.py

31 lines
965 B
Python

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()