File size: 3,595 Bytes
6fe6a92
 
 
 
 
 
 
 
 
701565d
 
560d456
6fe6a92
 
701565d
 
6fe6a92
 
 
 
449a524
6fe6a92
 
560d456
449a524
 
 
6fe6a92
449a524
6fe6a92
 
45b3c20
 
 
 
 
 
 
 
 
6fe6a92
45b3c20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

import streamlit as st
import requests

st.title("SuperKart Sales Prediction App") #Complete the code to define the title of the app.

# Input fields for product and store data
Product_Weight = st.number_input("Product Weight", min_value=0.0, value=12.66)
Product_Sugar_Content = st.selectbox("Product Sugar Content", ["Low Sugar", "Regular", "No Sugar"])
Product_Allocated_Area = st.number_input("Product Allocated Area", min_value=0.0, value=10.0) #Complete the code to define the UI element for Product_Allocated_Area
Product_MRP = st.number_input("Product MRP", min_value=0.0, value=10.0) #Complete the code to define the UI element for Product_MRP
Store_Size = st.selectbox("Store Size", ["Small", "Medium", "High"]) #Complete the code to define the UI element for Store_Size
Store_Location_City_Type = st.selectbox("Store Location City Type", ["Tier 1", "Tier 2", "Tier 3"]) #Complete the code to define the UI element for Store_Location_City_Type
Store_Type = st.selectbox("Store Type", ["Departmental Store", "Food Mart", "Supermarket Type1", "Supermarket Type2"]) #Complete the code to define the UI element for Store_Type
Product_Id_char = st.selectbox("Product Id char", ["FD", "NC", "DR"]) #Complete the code to define the UI element for Product_Id_char
Store_Age_Years = st.number_input("Store Age Years", min_value=1, max_value=100,value=5) #Complete the code to define the UI element for Store_Age_Years
Product_Type_Category = st.selectbox("Product Type Category", ["Low Sugar", "Regular", "No Sugar"]) #Complete the code to define the UI element for Product_Type_Category

product_data = {
    "Product_Weight": Product_Weight,
    "Product_Sugar_Content": str(Product_Sugar_Content),
    "Product_Allocated_Area": Product_Allocated_Area,
    "Product_MRP": Product_MRP,
    "Store_Size": str(Store_Size),
    "Store_Location_City_Type": str(Store_Location_City_Type),
    "Store_Type": str(Store_Type),
    "Product_Id_char": str(Product_Id_char),
    "Store_Age_Years": Store_Age_Years,
    "Product_Type_Category": str(Product_Type_Category)
}

#if st.button("Predict", type='primary'):
#    response = requests.post("https://jamolo12-SuperKart.hf.space/v1/predict", json=product_data)    # Complete the code to enter user name and space name to correctly define the endpoint
#    if response.status_code == 200:
#        result = response.json()
#        predicted_sales = result["Sales"]
#        st.write(f"Predicted Product Store Sales Total: ₹{predicted_sales:.2f}")
#    else:
#        st.error("Error in API request")

if st.button("Predict", type='primary'):
    try:
        response = requests.post("https://jamolo12-SuperKart.hf.space/v1/predict", json=product_data)

        if response.status_code == 200:
            result = response.json()
            predicted_sales = result["Sales"]
            st.write(f"Predicted Product Store Sales Total: ₹{predicted_sales:.2f}")
        else:
            # Display a more detailed error message from the API
            st.error(f"Error in API request: Status Code {response.status_code}")
            try:
                # Try to show the JSON error response from the API
                error_details = response.json()
                st.error(f"Details: {error_details}")
            except ValueError:
                # If the error response is not in JSON format, show the raw text
                st.error(f"Details: {response.text}")

    except requests.exceptions.RequestException as e:
        # Handle network-level errors like connection issues
        st.error(f"A connection error occurred: {e}")