house_kg / app.py
I77's picture
updated interface
5879ab5
import gradio as gr
def predict_price(rooms, area, wall_material):
# Валидация входных данных
try:
rooms = int(rooms) # Преобразуем в целое число
area = float(area) # Преобразуем в число с плавающей точкой
if rooms < 1:
return "Error: Number of rooms must be at least 1."
if area <= 0:
return "Error: Total area must be greater than 0."
if wall_material not in ["Brick", "Monolith", "Adobe"]:
return "Error: Invalid wall material selected."
# Формула: цена = кол-во комнат * 1000 + общая площадь * 50
price = rooms * 1000 + area * 50
return f"Predicted price: ${price:,.2f}"
except ValueError:
return "Error: Please enter valid numeric values for rooms and area."
# Создание интерфейса
demo = gr.Interface(
fn=predict_price,
inputs=[
gr.Number(label="Number of Rooms", value=1, minimum=1, step=1, precision=0), # Целое число
gr.Number(label="Total Area (sq.m)", value=50, minimum=1, precision=2), # Дробное число
gr.Dropdown(label="Wall Material", choices=["Brick", "Monolith", "Adobe"], value="Brick")
],
outputs=gr.Textbox(label="Predicted Price"),
title="House Price Prediction",
description="Enter the number of rooms, total area, and wall material to predict the house price."
)
# Запуск интерфейса с публичной ссылкой
demo.launch()