Tenefix's picture
Create app.py
630ff31 verified
raw
history blame
2.01 kB
import gradio as gr
from predictor import predict
def make_prediction(distance_from_home, distance_from_last_transaction,
ratio_to_median_purchase_price, repeat_retailer,
used_chip, used_pin_number, online_order):
"""
Prepares user input data and performs a local prediction.
Args:
distance_from_home (float): Distance from home.
distance_from_last_transaction (float): Distance from the last transaction.
ratio_to_median_purchase_price (float): Ratio to the median purchase price.
repeat_retailer (bool): Repeated retailer.
used_chip (bool): Used chip.
used_pin_number (bool): Used PIN number.
online_order (bool): Online order.
Returns:
str: Prediction result ("Fraudulent" or "Non-fraudulent").
"""
try:
input_data = {
"distance_from_home": distance_from_home,
"distance_from_last_transaction": distance_from_last_transaction,
"ratio_to_median_purchase_price": ratio_to_median_purchase_price,
"repeat_retailer": int(repeat_retailer),
"used_chip": int(used_chip),
"used_pin_number": int(used_pin_number),
"online_order": int(online_order),
}
return predict(input_data)
except Exception as e:
return f"Unexpected error: {e}"
# Gradio user interface
iface = gr.Interface(
fn=make_prediction,
inputs=[
gr.Number(label="Distance from Home"),
gr.Number(label="Distance from Last Transaction"),
gr.Number(label="Ratio to Median Purchase Price"),
gr.Checkbox(label="Repeat Retailer"),
gr.Checkbox(label="Used Chip"),
gr.Checkbox(label="Used PIN Number"),
gr.Checkbox(label="Online Order"),
],
outputs="text",
title="Fraud Detection with Local FHE Model",
description="Local interface using a compiled FHE model to detect fraud."
)
if __name__ == "__main__":
iface.launch()