from pydantic_settings import BaseSettings from pydantic import ConfigDict class Settings(BaseSettings): server_host: str server_port: int = 8080 asr_provider: str = "Aliyun" # 固定使用阿里云 llm_provider: str = "Volcano" # 固定使用火山引擎 tts_provider: str = "MiniMax" # 固定使用MiniMax volcano_api_key: str volcano_base_url: str volcano_model_id: str = "ep-20250226121739-jkd24" # Doubao-1.5-pro-32k volcano_app_id: str = "7872932045" volcano_access_token: str minimax_api_key: str = "" minimax_group_id: str = "" minimax_base_url: str = "https://api.minimax.chat/v1/t2a_v2" aliyun_api_key: str aliyun_vocabulary_id: str assets_dir: str = "assets" session_timeout: int = 600 conversation_history_timeout: int = 1800 max_conversation_history: int = 5 cleanup_interval: int = 300 llm_first_token_timeout: int = 5 # LLM首个token的超时时间(秒) tts_request_timeout: int = 5 # TTS单次请求超时时间(秒) selected_role_key: str db_host: str = "mysql" db_port: int = 3306 db_user: str = "talkingq" db_password: str db_name: str = "talkingq" db_echo: bool = False # 是否打印SQL语句 admin_api_key: str # 用于设备注册的管理员API密钥 client_api_key: str # 用于微信小程序客户端验证的API密钥 model_config = ConfigDict(extra="ignore", env_file=".env") settings = Settings()