Malaji71 commited on
Commit
e0ac3d2
·
verified ·
1 Parent(s): be01cff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -6
app.py CHANGED
@@ -21,6 +21,7 @@ current_pract_response = None
21
  current_metadata = None
22
  current_temp_acad = None
23
  current_topp_acad = None
 
24
 
25
  print("[DEBUG] Variables globales inicializadas")
26
 
@@ -33,7 +34,7 @@ def generate_responses(
33
  Genera ambas respuestas (académica + práctica) y habilita sistema de valoración
34
  """
35
  global current_timestamp, current_input, current_acad_response, current_pract_response
36
- global current_metadata, current_temp_acad, current_topp_acad
37
 
38
  from datetime import datetime
39
 
@@ -54,6 +55,7 @@ def generate_responses(
54
  citations = result["citations"]
55
 
56
  current_metadata = metadata
 
57
 
58
  print(f"✅ Análisis completado:")
59
  print(f" - Tipo conflicto: {metadata['conflict_type']} ({metadata['confidence']}%)")
@@ -92,6 +94,7 @@ def generate_responses(
92
  return (
93
  acad_response,
94
  pract,
 
95
  gr.update(interactive=True), # stars
96
  gr.update(interactive=True), # coach_notes
97
  gr.update(interactive=True), # submit_btn
@@ -107,6 +110,7 @@ def generate_responses(
107
  return (
108
  f"Error generando análisis académico:\n{str(e)}",
109
  f"Error generando guía práctica:\n{str(e)}",
 
110
  gr.update(interactive=False),
111
  gr.update(interactive=False),
112
  gr.update(interactive=False),
@@ -176,13 +180,13 @@ def save_rating_to_dataset(stars, coach_notes):
176
 
177
  print("[DEBUG] Creando interfaz Gradio...")
178
 
179
- with gr.Blocks(title="Quoota RAG24 Alpha") as demo: # SIN theme parameter
180
 
181
  gr.Markdown("""
182
  # 🧠 Quoota RAG24 Alpha
183
  ### Sistema de análisis de conflictos empresariales para fine-tuning
184
 
185
- **RAG24:** Análisis académico basado en 24 obras (16,511 chunks vectorizados)
186
  **RAG7:** Guía práctica paso a paso
187
  """)
188
 
@@ -235,9 +239,9 @@ with gr.Blocks(title="Quoota RAG24 Alpha") as demo: # SIN theme parameter
235
  show_label=False
236
  )
237
 
238
- # COLUMNA COMPLETA: Outputs
239
  with gr.Row():
240
- with gr.Column():
241
  gr.Markdown("### 📚 Análisis Académico (RAG24)")
242
  gr.Markdown("*Basado en 24 obras académicas con sistema multilingüe*")
243
  acad_out = gr.Textbox(
@@ -246,7 +250,7 @@ with gr.Blocks(title="Quoota RAG24 Alpha") as demo: # SIN theme parameter
246
  interactive=False
247
  )
248
 
249
- with gr.Column():
250
  gr.Markdown("### 📋 Guía Práctica (RAG7)")
251
  gr.Markdown("*Pasos concretos para resolver el conflicto*")
252
  pract_out = gr.Textbox(
@@ -255,6 +259,32 @@ with gr.Blocks(title="Quoota RAG24 Alpha") as demo: # SIN theme parameter
255
  interactive=False
256
  )
257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  # EJEMPLOS
259
  gr.Examples(
260
  examples=[
@@ -284,6 +314,7 @@ with gr.Blocks(title="Quoota RAG24 Alpha") as demo: # SIN theme parameter
284
  outputs=[
285
  acad_out,
286
  pract_out,
 
287
  stars,
288
  coach_notes,
289
  submit_btn,
 
21
  current_metadata = None
22
  current_temp_acad = None
23
  current_topp_acad = None
24
+ current_context = None # NUEVO: guardar citations para mostrar
25
 
26
  print("[DEBUG] Variables globales inicializadas")
27
 
 
34
  Genera ambas respuestas (académica + práctica) y habilita sistema de valoración
35
  """
36
  global current_timestamp, current_input, current_acad_response, current_pract_response
37
+ global current_metadata, current_temp_acad, current_topp_acad, current_context
38
 
39
  from datetime import datetime
40
 
 
55
  citations = result["citations"]
56
 
57
  current_metadata = metadata
58
+ current_context = citations # GUARDAR para mostrar
59
 
60
  print(f"✅ Análisis completado:")
61
  print(f" - Tipo conflicto: {metadata['conflict_type']} ({metadata['confidence']}%)")
 
94
  return (
95
  acad_response,
96
  pract,
97
+ citations, # NUEVO: mostrar contexto académico
98
  gr.update(interactive=True), # stars
99
  gr.update(interactive=True), # coach_notes
100
  gr.update(interactive=True), # submit_btn
 
110
  return (
111
  f"Error generando análisis académico:\n{str(e)}",
112
  f"Error generando guía práctica:\n{str(e)}",
113
+ f"Error en retrieval:\n{str(e)}", # context_out
114
  gr.update(interactive=False),
115
  gr.update(interactive=False),
116
  gr.update(interactive=False),
 
180
 
181
  print("[DEBUG] Creando interfaz Gradio...")
182
 
183
+ with gr.Blocks(title="Quoota RAG24 Alpha") as demo:
184
 
185
  gr.Markdown("""
186
  # 🧠 Quoota RAG24 Alpha
187
  ### Sistema de análisis de conflictos empresariales para fine-tuning
188
 
189
+ **RAG24:** Análisis académico basado en 24 obras (16,997 chunks vectorizados)
190
  **RAG7:** Guía práctica paso a paso
191
  """)
192
 
 
239
  show_label=False
240
  )
241
 
242
+ # FILA 1: Outputs principales (análisis + guía)
243
  with gr.Row():
244
+ with gr.Column(scale=2):
245
  gr.Markdown("### 📚 Análisis Académico (RAG24)")
246
  gr.Markdown("*Basado en 24 obras académicas con sistema multilingüe*")
247
  acad_out = gr.Textbox(
 
250
  interactive=False
251
  )
252
 
253
+ with gr.Column(scale=2):
254
  gr.Markdown("### 📋 Guía Práctica (RAG7)")
255
  gr.Markdown("*Pasos concretos para resolver el conflicto*")
256
  pract_out = gr.Textbox(
 
259
  interactive=False
260
  )
261
 
262
+ # FILA 2: Contexto académico (colapsable)
263
+ with gr.Row():
264
+ with gr.Column():
265
+ with gr.Accordion("🔬 Contexto Académico (para validación coach)", open=True):
266
+ gr.Markdown("""
267
+ **Este panel muestra el contexto que recibió el modelo LLM para generar el análisis académico.**
268
+
269
+ Úsalo para validar si:
270
+ - ✅ Las fuentes recuperadas son relevantes al conflicto
271
+ - ✅ Los pesos metodológicos son correctos (ego/data/mixed)
272
+ - ✅ Los scores híbridos tienen sentido (similitud + peso + tags)
273
+ - ✅ El LLM citó las fuentes correctamente en su respuesta académica
274
+
275
+ **Información incluida:**
276
+ - Sistema de retrieval aplicado (conflict type, pesos por categoría)
277
+ - Top 5 fuentes con scoring híbrido desglosado
278
+ - Contenido completo de cada chunk
279
+ - Autores identificados en cada fuente
280
+ """)
281
+ context_out = gr.Textbox(
282
+ label="Citations académicas completas (enviadas al LLM)",
283
+ lines=30,
284
+ max_lines=50,
285
+ interactive=False
286
+ )
287
+
288
  # EJEMPLOS
289
  gr.Examples(
290
  examples=[
 
314
  outputs=[
315
  acad_out,
316
  pract_out,
317
+ context_out, # NUEVO: mostrar contexto académico
318
  stars,
319
  coach_notes,
320
  submit_btn,