JairoCesar commited on
Commit
40736f3
·
verified ·
1 Parent(s): 32d6170

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -0
app.py CHANGED
@@ -103,6 +103,39 @@ def search_direct(query, data, notif_map):
103
  return final_results
104
 
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  def search_with_gemini(query, event_list):
107
  if not model: return "Error: Modelo Gemini no disponible."
108
  system_prompt = f"""
@@ -230,6 +263,22 @@ if submitted:
230
  st.session_state.search_results = results
231
  st.session_state.last_query = query
232
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  if st.session_state.search_results is not None: st.button("Limpiar Búsqueda", on_click=clear_search_state)
234
  st.markdown("---")
235
 
 
103
  return final_results
104
 
105
 
106
+
107
+
108
+
109
+ def log_query(query, result_event):
110
+ """Registra una consulta y su resultado en un archivo CSV."""
111
+ log_file = 'query_log.csv'
112
+ # La fecha y hora actual en formato legible
113
+ timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
114
+
115
+ # Prepara la fila a escribir
116
+ # Usamos comillas dobles y comas para el formato CSV
117
+ log_entry = f'"{timestamp}","{query.replace("\"", "\"\"")}","{result_event.replace("\"", "\"\"")}"\n'
118
+
119
+ try:
120
+ # Abre el archivo en modo 'append' (añadir al final)
121
+ # Si el archivo no existe, lo crea.
122
+ with open(log_file, 'a', newline='', encoding='utf-8') as f:
123
+ # Escribe la cabecera si el archivo está vacío
124
+ if f.tell() == 0:
125
+ f.write('"Timestamp","UserQuery","AI_Result"\n')
126
+ f.write(log_entry)
127
+ logger.info(f"Consulta registrada: {query}")
128
+ except Exception as e:
129
+ logger.error(f"Error al registrar la consulta en CSV: {e}")
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
  def search_with_gemini(query, event_list):
140
  if not model: return "Error: Modelo Gemini no disponible."
141
  system_prompt = f"""
 
263
  st.session_state.search_results = results
264
  st.session_state.last_query = query
265
 
266
+
267
+
268
+
269
+ # Si se encontró al menos un resultado, lo registramos.
270
+ if results:
271
+ # Tomamos el nombre del evento del primer resultado encontrado.
272
+ evento_encontrado = results[0].get("info_notificacion", {}).get("Evento", "Búsqueda Directa Exitosa")
273
+ log_query(query, evento_encontrado)
274
+ else:
275
+ # Opcional: registrar también las búsquedas sin resultados.
276
+ log_query(query, "NO_ENCONTRADO")
277
+
278
+
279
+
280
+
281
+
282
  if st.session_state.search_results is not None: st.button("Limpiar Búsqueda", on_click=clear_search_state)
283
  st.markdown("---")
284