XA-vito commited on
Commit
4ba974f
·
verified ·
1 Parent(s): 3e8e0e4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -3
app.py CHANGED
@@ -75,21 +75,49 @@ def interpretar_instruccion(mensaje, datos):
75
  """Interpreta la consulta del usuario y ejecuta el análisis solicitado."""
76
  mensaje = mensaje.lower()
77
 
78
- # Mapeo de variables con términos comunes
79
  variable_map = {
80
  "temperatura": "temperaturaInterior",
 
 
81
  "humedad": "humedadInterior",
 
82
  "co2": "co2",
83
- "peso": "peso"
 
 
 
 
 
 
 
84
  }
85
 
 
86
  for key, var in variable_map.items():
87
  if key in mensaje:
88
  respuesta, valores, timestamps = analizar_tendencia(datos, var)
89
  grafico = generar_grafico(valores, timestamps, var)
90
  return respuesta, grafico
91
 
92
- return "🤖 No entiendo la consulta. Pregunta sobre el estado de la colmena o análisis de variables."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
 
94
  def conversar_con_colmena(mensaje):
95
  """Genera una respuesta combinando el modelo de lenguaje con análisis de datos."""
 
75
  """Interpreta la consulta del usuario y ejecuta el análisis solicitado."""
76
  mensaje = mensaje.lower()
77
 
78
+ # Ampliamos el mapeo con más sinónimos
79
  variable_map = {
80
  "temperatura": "temperaturaInterior",
81
+ "calor": "temperaturaInterior",
82
+ "frío": "temperaturaInterior",
83
  "humedad": "humedadInterior",
84
+ "seco": "humedadInterior",
85
  "co2": "co2",
86
+ "carbono": "co2",
87
+ "peso": "peso",
88
+ "colmena": "peso",
89
+ "ventilación": "ver_ventilador",
90
+ "ventilador": "ver_ventilador",
91
+ "calefactor": "ver_calefactor",
92
+ "vco": "vco",
93
+ "frecuencia": "frecuencia"
94
  }
95
 
96
+ # Buscar la variable en el mensaje del usuario
97
  for key, var in variable_map.items():
98
  if key in mensaje:
99
  respuesta, valores, timestamps = analizar_tendencia(datos, var)
100
  grafico = generar_grafico(valores, timestamps, var)
101
  return respuesta, grafico
102
 
103
+ # Si no encuentra una coincidencia, usa el modelo de lenguaje para interpretar la consulta
104
+ print("🤖 No se detectó una variable directamente. Usando IA para interpretar...")
105
+
106
+ contexto = f"Usuario: {mensaje}\nColmena:"
107
+ inputs = tokenizer(contexto, return_tensors="pt").to(device)
108
+
109
+ with torch.no_grad():
110
+ output = model.generate(
111
+ **inputs,
112
+ max_length=150,
113
+ do_sample=True,
114
+ top_k=50,
115
+ temperature=0.7,
116
+ pad_token_id=tokenizer.eos_token_id
117
+ )
118
+
119
+ respuesta_ia = tokenizer.decode(output[0], skip_special_tokens=True).strip()
120
+ return respuesta_ia, None # Si la IA responde, no genera imagen
121
 
122
  def conversar_con_colmena(mensaje):
123
  """Genera una respuesta combinando el modelo de lenguaje con análisis de datos."""