config.py 843 B

123456789101112131415161718192021222324252627282930
  1. import os
  2. from dataclasses import dataclass
  3. @dataclass(frozen=True)
  4. class AppConfig:
  5. api_key: str
  6. api_url: str
  7. model: str
  8. database_url: str
  9. history_table_name: str
  10. default_session_id: str
  11. def load_config() -> AppConfig:
  12. api_key = os.getenv("API_KEY")
  13. if not api_key:
  14. raise ValueError("API_KEY is not set in environment variables.")
  15. return AppConfig(
  16. api_key=api_key,
  17. api_url=os.getenv(
  18. "API_URL",
  19. "https://dashscope.aliyuncs.com/compatible-mode/v1",
  20. ),
  21. model=os.getenv("MODEL", "qwen3.6-plus"),
  22. database_url=os.getenv("DATABASE_URL", "mysql+pymysql://root:1234@localhost:3306/mydb"),
  23. history_table_name=os.getenv("HISTORY_TABLE_NAME", "chat_history"),
  24. default_session_id=os.getenv("SESSION_ID", "user_001"),
  25. )