import gradio as gr import requests # Define una variable global para almacenar la etiqueta predicha predicted_label = "" def predict(image): global predicted_label # URL del modelo en Hugging Face url = "https://api-inference.huggingface.co/models/riabayonaor/modelo_prediccion_enfermedades_pepinos" # Encabezados para la solicitud headers = { "Authorization": "Bearer hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } # Crear un objeto de archivo para la imagen files = {"file": image} # Hacer la solicitud POST al modelo response = requests.post(url, headers=headers, files=files) # Comprobar el estado de la respuesta if response.status_code == 200: result = response.json() # Suponiendo que el resultado es una lista de etiquetas con probabilidades labels = [item['label'] for item in result] # Extrae solo las etiquetas formatted_labels = ", ".join(labels) # Formatea las etiquetas como una cadena predicted_label = formatted_labels # Guarda la etiqueta en la variable global return formatted_labels else: return "Error en la predicción" # Carga el modelo en Gradio y define la interfaz personalizada interface = gr.Interface( fn=predict, inputs=gr.Image(type="file", label="Subir una imagen"), outputs=gr.Textbox(label="Etiquetas predichas") ) # Lanza la interfaz interface.launch()