- 新增 analyze、analyze_result、analyze_status 和 health 路由 - 实现图像上传和任务提交功能 - 添加任务状态查询和结果获取接口 - 集成 segformer 和 yolo 模型进行图像检测 - 实现 SAM3 预处理功能用于图像预处理判断 - 添加模型选择配置支持 segformer 和 yolo - 实现任务队列管理和异步处理机制 - 添加 Dockerfile 用于容器化部署 - 配置环境变量和 gitignore 规则 - 创建数据模型定义 API 响应结构
36 lines
864 B
Python
36 lines
864 B
Python
import os
|
|
from dotenv import load_dotenv
|
|
from fastapi import FastAPI
|
|
from fastapi.staticfiles import StaticFiles
|
|
from app.services.worker import Worker
|
|
from app.routes.health import router as health
|
|
from app.routes.analyze import router as submit_analyze
|
|
from app.routes.analyze_status import router as get_task_status
|
|
from app.routes.analyze_result import router as get_task_result
|
|
|
|
load_dotenv()
|
|
UPLOAD_DIR = os.getenv("UPLOAD_DIR", "uploads")
|
|
MOCK = os.getenv("MOCK", "false")
|
|
MODEL = os.getenv("MODEL", "segformer")
|
|
PREPROCESS = os.getenv("PREPROCESS", "sam3")
|
|
WORKER = Worker()
|
|
|
|
os.makedirs(UPLOAD_DIR, exist_ok=True)
|
|
|
|
app = FastAPI()
|
|
app.mount("/" + UPLOAD_DIR, StaticFiles(directory=UPLOAD_DIR), name=UPLOAD_DIR)
|
|
app.include_router(health)
|
|
app.include_router(submit_analyze)
|
|
app.include_router(get_task_status)
|
|
app.include_router(get_task_result)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|