FelipeMena commited on
Commit
8921965
·
verified ·
1 Parent(s): 5bf4621
Files changed (1) hide show
  1. app.py +9 -12
app.py CHANGED
@@ -46,37 +46,34 @@ def respuesta_basica(texto):
46
  return None
47
 
48
  # --- Función de chatbot con manejo de frases comunes ---
49
- def chat_biblioteca(pregunta, historial):
50
- respuesta_simple = respuesta_basica(pregunta)
51
  if respuesta_simple:
52
- return historial + [[pregunta, respuesta_simple]]
53
 
54
- # Si no es frase común, responder usando embeddings y modelo QA
55
- embedding = modelo_emb.encode([pregunta], convert_to_numpy=True)
56
  D, I = index.search(embedding, k=2)
57
  contexto = " ".join([documentos[i] for i in I[0]])
58
 
59
  try:
60
- resultado = qa_pipeline(question=pregunta, context=contexto)
61
  respuesta = resultado["answer"]
62
  except:
63
  respuesta = "Lo siento, no pude procesar tu pregunta. ¿Puedes intentar reformularla?"
64
 
65
- return historial + [[pregunta, respuesta]]
66
 
67
  # --- Interfaz ---
68
- gr.Interface(
69
  fn=chat_biblioteca,
70
- inputs=gr.Textbox(label="Escribe tu pregunta"),
71
- outputs=gr.Textbox(label="Respuesta del bot"),
72
  title="📚 BiblioBot",
73
  description="¡Bienvenido a BiblioBot! Pregunta sobre libros, horarios o servicios de biblioteca.",
74
- theme="soft", # Puedes cambiar a "base" o "default" si lo deseas más claro
75
  examples=[
76
  "¿Cuál es el horario de la biblioteca?",
77
  "¿Puedo comer dentro de la biblioteca?",
78
  "¿Qué pasa si pierdo un libro?",
79
  "hola",
80
  "gracias"
81
- ]
82
  ).launch()
 
46
  return None
47
 
48
  # --- Función de chatbot con manejo de frases comunes ---
49
+ def chat_biblioteca(mensaje, historial=None):
50
+ respuesta_simple = respuesta_basica(mensaje)
51
  if respuesta_simple:
52
+ return respuesta_simple
53
 
54
+ # Respuesta con embeddings y QA
55
+ embedding = modelo_emb.encode([mensaje], convert_to_numpy=True)
56
  D, I = index.search(embedding, k=2)
57
  contexto = " ".join([documentos[i] for i in I[0]])
58
 
59
  try:
60
+ resultado = qa_pipeline(question=mensaje, context=contexto)
61
  respuesta = resultado["answer"]
62
  except:
63
  respuesta = "Lo siento, no pude procesar tu pregunta. ¿Puedes intentar reformularla?"
64
 
65
+ return respuesta
66
 
67
  # --- Interfaz ---
68
+ gr.chatInterface(
69
  fn=chat_biblioteca,
 
 
70
  title="📚 BiblioBot",
71
  description="¡Bienvenido a BiblioBot! Pregunta sobre libros, horarios o servicios de biblioteca.",
 
72
  examples=[
73
  "¿Cuál es el horario de la biblioteca?",
74
  "¿Puedo comer dentro de la biblioteca?",
75
  "¿Qué pasa si pierdo un libro?",
76
  "hola",
77
  "gracias"
78
+ ],
79
  ).launch()