from pydantic import Field from pydantic_settings import BaseSettings class Config(BaseSettings): hf_token: str = Field(...) hf_model: str = Field("InvestmentResearchAI/LLM-ADE-dev") headless: bool = Field(False, description="Run in headless mode.") az_search_endpoint: str = Field("https://analysis-bank.search.windows.net") az_search_api_key: str = Field(...) az_search_idx_name: str = Field("analysis-index") az_search_top_k: int = Field(4, description="Max number of results to retrun") az_search_min_score: float = Field(9.0, description="Only results above this confidence score is used") chat_template: str = Field("chatml", description="Chat template for prompt formatting") num_fewshot: int | None = Field(None, description="Option to use json mode examples") load_in_4bit: str = Field("False", description="Option to load in 4bit with bitsandbytes") max_depth: int = Field(3, description="Maximum number of recursive iteration") config = Config(_env_file=".env")