chore: 允许 ai-service Python 文件入库(.gitignore 例外)
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
from fastapi import FastAPI, File, HTTPException, UploadFile
|
||||
|
||||
from . import config
|
||||
from .detector import MockDetector, ONNXDetector
|
||||
|
||||
app = FastAPI(title="Silk AI Service", version="0.1.0")
|
||||
|
||||
if config.MODEL_MODE == "onnx":
|
||||
detector = ONNXDetector(config.MODEL_PATH, tuple(config.MODEL_LABELS))
|
||||
else:
|
||||
detector = MockDetector(class_name=config.MOCK_CLASS, confidence=config.MOCK_CONFIDENCE)
|
||||
|
||||
|
||||
@app.get("/health")
|
||||
def health():
|
||||
return {"status": "ok", "model": config.MODEL_MODE}
|
||||
|
||||
|
||||
@app.post("/detect")
|
||||
async def detect(file: UploadFile = File(...)):
|
||||
data = await file.read()
|
||||
if not data:
|
||||
raise HTTPException(status_code=400, detail="图片为空")
|
||||
try:
|
||||
detections = detector.detect(data)
|
||||
except ValueError as exc:
|
||||
raise HTTPException(status_code=400, detail=str(exc)) from exc
|
||||
return {
|
||||
"model": config.MODEL_MODE,
|
||||
"detections": [
|
||||
{
|
||||
"bbox": d["bbox"],
|
||||
"class": d["class_name"],
|
||||
"confidence": d["confidence"],
|
||||
}
|
||||
for d in detections
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user