import gradio as gr import joblib import numpy as np import os # Cargar el modelo entrenado modelo_path = "modelo_colmena.pkl" if os.path.exists(modelo_path): modelo = joblib.load(modelo_path) else: raise FileNotFoundError("El modelo no se encuentra en el servidor.") # Función para hacer predicciones con el modelo def predecir(temp, humedad, peso, co2, vco, frecuencia, voltaje, temp_ext, humedad_ext, ver_tempSelect): # Convertir valores a números y reemplazar NaN con 0 valores = [temp, humedad, peso, co2, vco, frecuencia, voltaje, temp_ext, humedad_ext, ver_tempSelect] valores_limpios = [0 if v is None or np.isnan(v) else v for v in valores] # Reemplaza NaN y None con 0 entrada = np.array([valores_limpios]) prediccion = modelo.predict(entrada)[0] # El modelo devuelve [ventilador, ultrasonido] mensaje = f"🔹 Ventilador: {'ENCENDER' if prediccion[0] == 1 else 'APAGAR'}" mensaje += f"\n🔹 Ultrasonido: {'ENCENDER' if prediccion[1] == 1 else 'APAGAR'}" return mensaje # Crear la API en Gradio iface = gr.Interface( fn=predecir, inputs=["number", "number", "number", "number", "number", "number", "number", "number", "number"], outputs="text", title="🐝 IA Inteligente para Colmenas", description="Introduce los datos de la colmena y la IA predecirá si es necesario activar ventilador y ultrasonido." ) # Lanzar la API iface.launch()