Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI, HTTPException | |
| from pydantic import BaseModel | |
| import requests | |
| import pandas as pd | |
| app = FastAPI() | |
| # Define the structure of the incoming data | |
| class InputData(BaseModel): | |
| dataframe_records: list[dict] # List of dictionaries (like rows in a DataFrame) | |
| # Define endpoint to receive data and make a prediction | |
| async def make_prediction(input_data: InputData): | |
| # URL for MLflow's prediction server | |
| mlflow_url = "http://127.0.0.1:8000/invocations" | |
| headers = {"Content-Type": "application/json"} | |
| # Prepare the JSON data to send to MLflow | |
| json_data = { | |
| "dataframe_records": input_data.dataframe_records | |
| } | |
| try: | |
| # Send data to MLflow and get prediction | |
| response = requests.post(mlflow_url, headers=headers, json=json_data) | |
| response.raise_for_status() # Raise an error for a failed request | |
| return response.json() # Return MLflow's prediction result | |
| except requests.exceptions.HTTPError as err: | |
| raise HTTPException(status_code=response.status_code, detail=str(err)) | |
| except requests.exceptions.RequestException as e: | |
| raise HTTPException(status_code=500, detail=str(e)) | |
| # uvicorn backend.fastapi_app:app --port 8001 |