— 登錄接口 —
@app.post(“/token”)
def login(form_data: OAuth2PasswordRequestForm = Depends()):
user = fake_users_db.get(form_data.username)
if not user or form_data.password != user[“password”]:
raise HTTPException(status_code=400, detail=“用戶名或密碼錯誤”)
access_token = create_access_token(data={“sub”: user[“username”]})
return {“access_token”: access_token, “token_type”: “bearer”}
— AI 預測接口 —
@app.post(“/predict”)
def predict(file: UploadFile = File(…), username: str = Depends(verify_token)):
try:
model = load(“ai_module/model.pkl”)
scaler = load(“ai_module/scaler.pkl”)
ex