import gradio as gr import requests # Définir l'URL de votre API FastAPI API_URL = "http://127.0.0.1:7860/predict" # Fonction pour appeler l'API et faire la prédiction def predict_survival(stay_class, sex, ticket_price): payload = { "stay_class": int(stay_class), "sex": int(sex), "ticket_price": float(ticket_price) } # Envoyer la requête POST à l'API response = requests.post(API_URL, json=payload) # Vérifier la réponse de l'API if response.status_code == 200: prediction = response.json().get("Survival Prediction") if prediction == 1: return "Félicitations! La prédiction de survie est : Oui" else: return "Malheureusement, la prédiction de survie est : Non" else: print(f"Error: {response.status_code} - {response.text}") return f"Erreur lors de la prédiction (code {response.status_code}). Veuillez réessayer." # Créer l'interface Gradio avec les composants d'entrée appropriés iface = gr.Interface( fn=predict_survival, inputs=[ gr.Dropdown(choices=[1, 2, 3], label="Classe de Séjour"), gr.Radio(choices=[0, 1], label="Sexe"), gr.Number(label="Prix du Ticket") ], outputs=gr.Textbox(), title="Prédiction de Survie du Titanic", description="Interface pour prédire la survie sur le Titanic en utilisant une API FastAPI" ) iface.launch(debug=True)