# -*- coding: utf-8 -*- """系统配置:MySQL、Neo4j、JWT、Celery、大模型""" import os class Settings: API_V1_PREFIX: str = "/api/v1" # 使用 maple@localhost:3306,密码 123456,数据库 ai_system MYSQL_URI: str = os.getenv("MYSQL_URI", "mysql+pymysql://maple:123456@localhost:3306/ai_system") NEO4J_URI: str = os.getenv("NEO4J_URI", "neo4j://localhost:7687") NEO4J_USER: str = os.getenv("NEO4J_USER", "neo4j") NEO4J_PASSWORD: str = os.getenv("NEO4J_PASSWORD", "12345678") JWT_SECRET_KEY: str = os.getenv("JWT_SECRET_KEY", "dev-jwt-secret-change-in-production") JWT_ALGORITHM: str = "HS256" # 将访问令牌有效期收紧为 4 小时,减少长时间挂着不退出带来的风险 JWT_ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 4 CELERY_BROKER_URL: str = os.getenv("CELERY_BROKER_URL", "redis://localhost:6379/0") CELERY_RESULT_BACKEND: str = os.getenv("CELERY_RESULT_BACKEND", "redis://localhost:6379/0") # 大模型:默认直连 DeepSeek OpenAI 兼容接口,环境变量可覆盖 LLM_PROVIDER: str = os.getenv("LLM_PROVIDER", "deepseek") # TODO:DeepSeek API Key LLM_API_KEY: str = os.getenv("LLM_API_KEY", "sk-50497a43a04e4a7db3af2e8437445658") LLM_BASE_URL: str = os.getenv("LLM_BASE_URL", "https://api.deepseek.com") TTS_API_URL: str = os.getenv("TTS_API_URL", "") ASR_API_URL: str = os.getenv("ASR_API_URL", "") # 百度语音合成(TTS)配置:可通过环境变量覆盖,未设置时使用当前开发测试的默认值 BAIDU_TTS_APP_ID: str = os.getenv("BAIDU_TTS_APP_ID", "7498032") BAIDU_TTS_API_KEY: str = os.getenv("BAIDU_TTS_API_KEY", "sZCf8uTlvsyyHFBlfl7beIKS") BAIDU_TTS_SECRET_KEY: str = os.getenv("BAIDU_TTS_SECRET_KEY", "5swdYUeDAHxVXwG3O1kGcTlEoOXJoXA4") def get_settings() -> Settings: return Settings()