| 123456789101112131415161718192021222324252627282930313233 |
- # -*- 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()
|