vyasmax9's picture
Upload folder using huggingface_hub
f0a8564 verified
Raw
History Blame Contribute Delete
1.87 kB
# Import necessary libraries
import joblib
import pandas as pd
from flask import Flask, request, jsonify
print("Starting SuperKart Flask API...")
# Initialize Flask app
app = Flask(__name__)
# Load trained model
try:
model = joblib.load("superkart_sales_model.pkl")
print("Model loaded successfully")
except Exception as e:
print("Error loading model:", e)
raise
# Home route (health check)
@app.route("/", methods=["GET"])
def home():
return "✅ SuperKart Sales Prediction API is running!"
# ---------- SINGLE PREDICTION ----------
@app.route("/predict", methods=["POST"])
def predict_sales():
data = request.get_json()
sample = {
"Product_Id": data["Product_Id"],
"Product_Weight": data["Product_Weight"],
"Product_Sugar_Content": data["Product_Sugar_Content"],
"Product_Allocated_Area": data["Product_Allocated_Area"],
"Product_Type": data["Product_Type"],
"Product_MRP": data["Product_MRP"],
"Store_Id": data["Store_Id"],
"Store_Type": data["Store_Type"],
"Store_Size": data["Store_Size"],
"Store_Location_City_Type": data["Store_Location_City_Type"],
"Store_Current_Age": data["Store_Current_Age"],
}
input_df = pd.DataFrame([sample])
prediction = model.predict(input_df)[0]
return jsonify({
"Predicted_Sales": round(float(prediction), 2)
})
# ---------- BATCH PREDICTION ----------
@app.route("/predict-batch", methods=["POST"])
def predict_sales_batch():
file = request.files["file"]
df = pd.read_csv(file)
predictions = model.predict(df)
predictions = [round(float(p), 2) for p in predictions]
return jsonify({
"Predicted_Sales": predictions
})
# Run locally (Hugging Face ignores this but keeps it safe)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860)