Files
huihuiSquare/backend/app/core/config.py
yuqianqian10204095yu cebc0a288f 1.0.0初始化源代码
2026-03-23 15:40:36 +08:00

77 lines
2.3 KiB
Python

"""
系统配置模块
"""
from pydantic_settings import BaseSettings
from typing import Optional
import os
class Settings(BaseSettings):
"""应用配置"""
# 应用基础配置
APP_NAME: str = "会会虚拟用户 AI 互动系统"
APP_VERSION: str = "1.0.0"
DEBUG: bool = True
API_PREFIX: str = "/api/v1"
# 数据库配置
DATABASE_HOST: str = "mysql"
DATABASE_PORT: int = 3306
DATABASE_USER: str = "root"
DATABASE_PASSWORD: str = "root123456"
DATABASE_NAME: str = "huihui_ai_bot"
DATABASE_URL: Optional[str] = None
@property
def get_database_url(self) -> str:
if self.DATABASE_URL:
return self.DATABASE_URL
return f"mysql+pymysql://{self.DATABASE_USER}:{self.DATABASE_PASSWORD}@{self.DATABASE_HOST}:{self.DATABASE_PORT}/{self.DATABASE_NAME}?charset=utf8mb4"
# JWT 配置
JWT_SECRET_KEY: str = "your-secret-key-change-in-production"
JWT_ALGORITHM: str = "HS256"
JWT_EXPIRE_MINUTES: int = 60 * 24 * 7 # 7 天
# 会会接口配置
HUIHUI_API_BASE: str = "http://192.168.1.200:63120"
HUIHUI_DOC_URL: str = "http://192.168.1.200:63120/doc.html"
# AI 模型配置(默认)
DEFAULT_AI_MODEL: str = "openai"
OPENAI_API_KEY: Optional[str] = None
OPENAI_BASE_URL: str = "https://api.openai.com/v1"
OPENAI_MODEL: str = "gpt-3.5-turbo"
ZHIPU_API_KEY: Optional[str] = None
ZHIPU_MODEL: str = "glm-4"
# 系统限制配置
MAX_TOKENS_PER_DAY: int = 10000 # 每日 Token 上限
MAX_COMMENTS_PER_USER_PER_DAY: int = 20 # 单用户每日最大评论数
MAX_REPLIES_PER_USER_PER_DAY: int = 10 # 单用户每日最大回复数
# 定时任务配置
TASK_START_HOUR: int = 9 # 活动开始时间
TASK_END_HOUR: int = 22 # 活动结束时间
TASK_INTERVAL_MIN: int = 10 # 最小间隔(分钟)
TASK_INTERVAL_MAX: int = 30 # 最大间隔(分钟)
# 互动概率配置
LIKE_PROBABILITY: float = 0.8 # 点赞概率
FAVORITE_PROBABILITY: float = 0.5 # 收藏概率
SHARE_PROBABILITY: float = 0.3 # 转发概率
# 文件存储配置
UPLOAD_DIR: str = "/app/data/uploads"
LOG_DIR: str = "/app/data/logs"
class Config:
env_file = ".env"
case_sensitive = True
# 创建全局配置实例
settings = Settings()