KarmanovaLidiia
Initial clean commit for HF Space (models via Git LFS)
bcb314a
from fastapi import FastAPI, Request, UploadFile, File
from fastapi.responses import HTMLResponse, StreamingResponse
from fastapi.templating import Jinja2Templates
import requests
app = FastAPI(title="Scoring UI")
templates = Jinja2Templates(directory="templates")
# 🔧 Локальный адрес FastAPI-сервера
API_URL = "http://localhost:8000/predict_csv"
@app.get("/", response_class=HTMLResponse)
async def home(request: Request):
return templates.TemplateResponse("index.html", {"request": request})
@app.get("/health")
async def health():
return {"status": "ok", "service": "scoring-ui"}
@app.post("/predict")
async def predict_csv(file: UploadFile = File(...)):
files = {"file": (file.filename, await file.read(), file.content_type)}
try:
resp = requests.post(API_URL, files=files, timeout=1800)
resp.raise_for_status()
return StreamingResponse(
iter([resp.content]),
media_type="text/csv",
headers={"Content-Disposition": f'attachment; filename="predicted_{file.filename}"'}
)
except Exception as e:
return {"error": str(e)}