Initial commit: GovAI 政务AI平台
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
"""PPT Worker 配置模块"""
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
|
||||
class Config:
|
||||
# 服务
|
||||
HOST: str = os.getenv("WORKER_HOST", "0.0.0.0")
|
||||
PORT: int = int(os.getenv("WORKER_PORT", "8090"))
|
||||
CONCURRENCY: int = int(os.getenv("WORKER_CONCURRENCY", "2"))
|
||||
|
||||
# 数据库
|
||||
DATABASE_URL: str = os.getenv("DATABASE_URL", "postgres://postgres:postgres@localhost:5432/govai")
|
||||
|
||||
# Redis
|
||||
REDIS_URL: str = os.getenv("REDIS_URL", "redis://localhost:6379/0")
|
||||
TASK_QUEUE: str = "ppt:tasks"
|
||||
TASK_STATUS_PREFIX: str = "ppt:status:"
|
||||
|
||||
# PPT Master
|
||||
PPT_MASTER_PATH: Path = Path(os.getenv("PPT_MASTER_PATH", "/Users/freedak/Documents/go-new/ppt-master"))
|
||||
SKILL_DIR: Path = PPT_MASTER_PATH / "skills" / "ppt-master"
|
||||
SCRIPTS_DIR: Path = SKILL_DIR / "scripts"
|
||||
|
||||
# 文件存储
|
||||
UPLOAD_DIR: Path = Path(os.getenv("UPLOAD_DIR", "/tmp/govai/uploads"))
|
||||
OUTPUT_DIR: Path = Path(os.getenv("OUTPUT_DIR", "/tmp/govai/outputs"))
|
||||
PROJECTS_DIR: Path = Path(os.getenv("PROJECTS_DIR", "/tmp/govai/ppt-projects"))
|
||||
|
||||
# LLM(通义千问,DashScope OpenAI 兼容接口)
|
||||
LLM_PROVIDER: str = os.getenv("LLM_PROVIDER", "openai")
|
||||
OPENAI_API_KEY: str = os.getenv("OPENAI_API_KEY", "")
|
||||
OPENAI_BASE_URL: str = os.getenv("OPENAI_BASE_URL", "https://dashscope.aliyuncs.com/compatible-mode/v1")
|
||||
OPENAI_MODEL: str = os.getenv("OPENAI_MODEL", "qwen-max")
|
||||
|
||||
# 图片生成(通义万相)
|
||||
IMAGE_BACKEND: str = os.getenv("IMAGE_BACKEND", "wanx")
|
||||
IMAGE_API_KEY: str = os.getenv("IMAGE_API_KEY", "") # 留空则复用 OPENAI_API_KEY
|
||||
WANX_MODEL: str = os.getenv("WANX_MODEL", "wanx-v1")
|
||||
DASHSCOPE_IMAGE_URL: str = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis"
|
||||
DASHSCOPE_TASK_URL: str = "https://dashscope.aliyuncs.com/api/v1/tasks"
|
||||
|
||||
@classmethod
|
||||
def ensure_dirs(cls):
|
||||
"""确保所有必需目录存在"""
|
||||
cls.UPLOAD_DIR.mkdir(parents=True, exist_ok=True)
|
||||
cls.OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||
cls.PROJECTS_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
config = Config()
|
||||
Reference in New Issue
Block a user