Spaces:
Runtime error
Runtime error
| ### config.py | |
| ```python | |
| import os | |
| from functools import lru_cache | |
| from typing import Optional | |
| from pydantic import BaseSettings, Field | |
| class Settings(BaseSettings): | |
| """Configuração centralizada da aplicação para.AI.""" | |
| # Ambiente | |
| app_name: str = Field(default="para.AI", env="APP_NAME") | |
| app_env: str = Field(default="dev", env="APP_ENV") | |
| debug: bool = Field(default=True, env="DEBUG") | |
| log_level: str = Field(default="INFO", env="LOG_LEVEL") | |
| # Banco de dados | |
| database_url: str = Field( | |
| default="postgresql://para_ai:para_ai@db:5432/para_ai", | |
| env="DATABASE_URL", | |
| ) | |
| db_pool_size: int = Field(default=20, env="DB_POOL_SIZE") | |
| db_max_overflow: int = Field(default=40, env="DB_MAX_OVERFLOW") | |
| # Arquivos | |
| files_base_path: str = Field(default="./data/files", env="FILES_BASE_PATH") | |
| # LLMs – chaves de API | |
| groq_api_key: Optional[str] = Field(default=None, env="GROQ_API_KEY") | |
| openai_api_key: Optional[str] = Field(default=None, env="OPENAI_API_KEY") | |
| anthropic_api_key: Optional[str] = Field(default=None, env="ANTHROPIC_API_KEY") | |
| # LLMs – limites e tuning | |
| llm_default_model_type: str = Field( | |
| default="balanced", env="LLM_DEFAULT_MODEL_TYPE" | |
| ) | |
| llm_max_tokens: int = Field(default=2048, env="LLM_MAX_TOKENS") | |
| llm_temperature: float = Field(default=0.7, env="LLM_TEMPERATURE") | |
| class Config: | |
| env_file = ".env" | |
| env_file_encoding = "utf-8" | |
| case_sensitive = False | |
| def get_settings() -> Settings: | |
| """Retorna instância singleton de Settings.""" | |
| return Settings() |