config.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. """Central configuration for the ChatFast backend."""
  2. from pathlib import Path
  3. import os
  4. from urllib.parse import quote_plus
  5. BASE_DIR = Path(__file__).resolve().parent.parent
  6. DATA_DIR = BASE_DIR / "data"
  7. BACKUP_DIR = BASE_DIR / "data_bak"
  8. BLOG_DIR = BASE_DIR / "blog"
  9. UPLOAD_DIR = BASE_DIR / "uploads"
  10. STATIC_DIR = BASE_DIR / "static"
  11. MYSQL_HOST = os.getenv("CHATFAST_DB_HOST", "127.0.0.1")
  12. MYSQL_PORT = int(os.getenv("CHATFAST_DB_PORT", "3306"))
  13. MYSQL_USER = os.getenv("CHATFAST_DB_USER", "root")
  14. MYSQL_PASSWORD = os.getenv("CHATFAST_DB_PASSWORD", "792199Zhao*")
  15. DATABASE_NAME = os.getenv("CHATFAST_DB_NAME", "chat_fast")
  16. ENCODED_PASSWORD = quote_plus(MYSQL_PASSWORD)
  17. RAW_DATABASE_URL = (
  18. f"mysql+pymysql://{MYSQL_USER}:{ENCODED_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/?charset=utf8mb4"
  19. )
  20. DATABASE_URL = (
  21. f"mysql+pymysql://{MYSQL_USER}:{ENCODED_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{DATABASE_NAME}?charset=utf8mb4"
  22. )
  23. TOKEN_TTL_HOURS = int(os.getenv("CHATFAST_TOKEN_TTL_HOURS", "72"))
  24. DEFAULT_ADMIN_USERNAME = os.getenv("CHATFAST_DEFAULT_ADMIN", "admin")
  25. DEFAULT_ADMIN_PASSWORD = os.getenv("CHATFAST_DEFAULT_ADMIN_PASSWORD", "Admin@123")
  26. # 默认上传文件下载地址,可通过环境变量覆盖
  27. DEFAULT_UPLOAD_BASE = os.getenv("UPLOAD_BASE_URL", "/download/")
  28. DOWNLOAD_BASE = DEFAULT_UPLOAD_BASE.rstrip("/") if DEFAULT_UPLOAD_BASE else ""
  29. # 模型配置
  30. default_key = "sk-re2NlaKIQn11ZNWzAbB6339cEbF94c6aAfC8B7Ab82879bEa"
  31. MODEL_KEYS = {
  32. "grok-3": default_key,
  33. "grok-4.1": default_key,
  34. "gpt-5.1-all": default_key,
  35. "gpt-4o-mini": default_key,
  36. "o1-mini": default_key,
  37. "o4-mini": default_key,
  38. "deepseek-v3": default_key,
  39. "deepseek-r1": default_key,
  40. "grok-4": default_key,
  41. "gpt-5-all": default_key,
  42. "gpt-4o-all": default_key,
  43. "o3-mini-all": default_key,
  44. }
  45. API_URL = "https://yunwu.ai/v1"