1.0.0初始化源代码
This commit is contained in:
76
backend/app/core/config.py
Normal file
76
backend/app/core/config.py
Normal file
@@ -0,0 +1,76 @@
|
||||
"""
|
||||
系统配置模块
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user