feat: 修复 AI 风险语义并隔离 Mock 数据

This commit is contained in:
weijuesen
2026-08-14 01:16:50 +08:00
parent 839ba91354
commit 74d1948d68
29 changed files with 650 additions and 113 deletions
+13 -2
View File
@@ -6,7 +6,7 @@ import time
from fastapi import FastAPI, File, HTTPException, Request, UploadFile
from . import config
from .detector import MockDetector, ONNXDetector
from .detector import MockDetector, ONNXDetector, abnormal_probability, detection_status
from .stream_tasks import StreamTaskWorker, is_allowed_stream_ref
app = FastAPI(title="Silk AI Service", version="0.1.0")
@@ -36,7 +36,12 @@ else:
@app.get("/health")
def health():
return {"status": "ok", "model": config.MODEL_MODE}
return {
"status": "ok",
"model": config.MODEL_MODE,
"modelVersion": config.MODEL_VERSION,
"isMock": isinstance(detector, MockDetector),
}
@app.post("/detect")
@@ -50,6 +55,10 @@ async def detect(file: UploadFile = File(...)):
raise HTTPException(status_code=400, detail=str(exc)) from exc
return {
"model": config.MODEL_MODE,
"modelVersion": config.MODEL_VERSION,
"isMock": isinstance(detector, MockDetector),
"status": detection_status(detections, config.MODEL_LABELS),
"abnormalProbability": abnormal_probability(detections, config.MODEL_LABELS),
"detections": [
{
"bbox": d["bbox"],
@@ -112,6 +121,8 @@ def metrics():
gpu = None
return {
"model": config.MODEL_MODE,
"modelVersion": config.MODEL_VERSION,
"isMock": isinstance(detector, MockDetector),
"uptimeSeconds": int(time.time() - START_TIME),
"requests": reqs,
"avgLatencyMs": round(avg, 2),