Wind-xixi's picture
Update app.py
e1a87f2 verified
raw
history blame
1.02 kB
from fastapi import FastAPI, File, UploadFile
from fastapi.responses import JSONResponse
import uvicorn
from predictor import Predictor
import os
# 创建 FastAPI 应用
app = FastAPI()
# 加载模型(启动时只加载一次)
predictor = Predictor()
@app.get("/")
async def root():
return {"message": "API is running. Use POST /evaluate to upload files."}
@app.post("/evaluate")
async def evaluate_file(file: UploadFile = File(...)):
try:
# 读取上传文件内容
content = await file.read()
text = content.decode("utf-8", errors="ignore")
# 调用 predictor 进行推理
result = predictor.predict(text)
return JSONResponse(content=result)
except Exception as e:
return JSONResponse(content={"error": str(e)}, status_code=500)
if __name__ == "__main__":
# Hugging Face Spaces 会设置环境变量 HF_SPACE
port = int(os.getenv("PORT", 7860)) # HF Spaces 会传 PORT
uvicorn.run("app:app", host="0.0.0.0", port=port)