m-ric's picture
m-ric HF Staff
Update app.py
a89f886 verified
raw
history blame
1.91 kB
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse
from fastapi.staticfiles import StaticFiles
import numpy as np
import argparse
import os
from datasets import load_dataset
HOST = os.environ.get("API_URL", "0.0.0.0")
PORT = os.environ.get("PORT", 7860)
parser = argparse.ArgumentParser()
parser.add_argument("--host", default=HOST)
parser.add_argument("--port", type=int, default=PORT)
parser.add_argument("--reload", action="store_true", default=True)
parser.add_argument("--ssl_certfile")
parser.add_argument("--ssl_keyfile")
args = parser.parse_args()
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/api/results")
async def get_results():
try:
# Load the dataset
dataset = load_dataset("smolagents/results")
# Convert to list for processing
data = dataset["train"].to_pandas()
# Log some info to help debug
print("Dataset loaded, shape:", data.shape)
print("Columns:", data.columns)
print("First row:", data.iloc[0])
# Process the data to group by model and calculate scores
processed_data = []
grouped = data.groupby('model_id')
return data
except Exception as e:
# Print the full error traceback to your logs
print("Error occurred:", str(e))
raise HTTPException(status_code=500, detail=str(e))
app.mount("/", StaticFiles(directory="static", html=True), name="static")
if __name__ == "__main__":
import uvicorn
print(args)
uvicorn.run(
"app:app",
host=args.host,
port=args.port,
reload=args.reload,
ssl_certfile=args.ssl_certfile,
ssl_keyfile=args.ssl_keyfile,
)