Files
video/main.py

61 lines
1.8 KiB
Python
Raw Normal View History

2025-09-04 22:59:27 +08:00
from PIL import Image # 正确导入
import numpy as np
2025-09-02 18:51:50 +08:00
import uvicorn
2025-09-04 22:59:27 +08:00
from PIL import Image
2025-09-02 18:51:50 +08:00
from fastapi import FastAPI
2025-09-04 22:59:27 +08:00
from core.all import load_model,detect
2025-09-02 18:51:50 +08:00
from ds.config import SERVER_CONFIG
from middle.error_handler import global_exception_handler
from service.user_service import router as user_router
2025-09-04 22:59:27 +08:00
from service.sensitive_service import router as sensitive_router
from service.face_service import router as face_router
2025-09-02 18:51:50 +08:00
from service.device_service import router as device_router
from ws.ws import ws_router, lifespan
2025-09-04 22:59:27 +08:00
2025-09-02 18:51:50 +08:00
# ------------------------------
# 初始化 FastAPI 应用、指定生命周期管理
# ------------------------------
app = FastAPI(
title="内容安全审核后台",
description="内容安全审核后台",
version="1.0.0",
lifespan=lifespan
)
# ------------------------------
# 注册路由
# ------------------------------
app.include_router(user_router)
app.include_router(device_router)
2025-09-04 22:59:27 +08:00
app.include_router(face_router)
app.include_router(sensitive_router)
2025-09-02 18:51:50 +08:00
app.include_router(ws_router)
# ------------------------------
# 注册全局异常处理器
# ------------------------------
app.add_exception_handler(Exception, global_exception_handler)
# ------------------------------
# 启动服务
# ------------------------------
if __name__ == "__main__":
2025-09-04 22:59:27 +08:00
# -------------------------- 配置调整 --------------------------
# 模型配置路径(建议改为环境变量)
YOLO_MODEL_PATH = r"/core/models\best.pt"
OCR_CONFIG_PATH = r"/core/config\config.yaml"
2025-09-08 17:34:23 +08:00
# 初始化项目默认端口设为8000、避免初始化失败时port未定义
2025-09-02 18:51:50 +08:00
port = int(SERVER_CONFIG.get("port", 8000))
2025-09-04 22:59:27 +08:00
# 启动 UVicorn 服务
2025-09-02 18:51:50 +08:00
uvicorn.run(
app="main:app",
host="0.0.0.0",
port=port,
2025-09-04 22:59:27 +08:00
workers=8,
2025-09-02 18:51:50 +08:00
ws="websockets"
)