Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from fastapi.responses import JSONResponse | |
from fastapi.middleware.cors import CORSMiddleware | |
import pandas as pd | |
from general_recommendation import get_recommendations | |
from recommendation_explainer import explain_recommendation | |
import uvicorn | |
import numpy as np | |
app = FastAPI() | |
df = pd.read_csv('recommended_plan.csv') | |
# CORS middleware to allow requests from any origin | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=["*"], | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
def get_recommendations(): | |
try: | |
sampled_data = df.sample(10) | |
results = sampled_data.to_dict(orient="records") | |
return JSONResponse(content={"recommendations": results}) | |
except Exception as e: | |
return JSONResponse(status_code=500, content={"error": str(e)}) | |
def get_explanations(userid): | |
try: | |
explanation = explain_recommendation(userid, df) | |
return JSONResponse(content={"explanation": explanation}) | |
except Exception as e: | |
return JSONResponse(status_code=500, content={"error": str(e)}) | |
if __name__ == "__main__": | |
uvicorn.run(app, host="0.0.0.0", port=8000) | |