Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI, File, UploadFile | |
| from fastapi.responses import JSONResponse | |
| import uvicorn | |
| from predictor import Predictor | |
| import os | |
| # 创建 FastAPI 应用 | |
| app = FastAPI() | |
| # 加载模型(启动时只加载一次) | |
| predictor = Predictor() | |
| async def root(): | |
| return {"message": "API is running. Use POST /evaluate to upload files."} | |
| 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) | |