config.py 966 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. """配置管理"""
  2. import os
  3. from typing import Optional, Dict, Any
  4. from pydantic import BaseModel
  5. class Config(BaseModel):
  6. """HelloAgents配置类"""
  7. # LLM配置
  8. default_model: str = "gpt-3.5-turbo"
  9. default_provider: str = "openai"
  10. temperature: float = 0.7
  11. max_tokens: Optional[int] = None
  12. # 系统配置
  13. debug: bool = False
  14. log_level: str = "INFO"
  15. # 其他配置
  16. max_history_length: int = 100
  17. @classmethod
  18. def from_env(cls) -> "Config":
  19. """从环境变量创建配置"""
  20. return cls(
  21. debug=os.getenv("DEBUG", "false").lower() == "true",
  22. log_level=os.getenv("LOG_LEVEL", "INFO"),
  23. temperature=float(os.getenv("TEMPERATURE", "0.7")),
  24. max_tokens=int(os.getenv("MAX_TOKENS"))
  25. if os.getenv("MAX_TOKENS")
  26. else None,
  27. )
  28. def to_dict(self) -> Dict[str, Any]:
  29. """转换为字典"""
  30. return self.dict()