FelipeMena commited on
Commit
438cee4
·
verified ·
1 Parent(s): fa070ce

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -36
app.py CHANGED
@@ -35,21 +35,7 @@ documentos = {
35
  "¿Como se calculan las multas?": "Las multas por retraso en la devolución se calculan por día hábil de retraso.",
36
  "¿Con quien estoy hablando?": "Estás hablando con un chatbot diseñado para ayudarte con información sobre la biblioteca.",
37
  "¿Que categorías de libros hay?": "La biblioteca cuenta con libros de texto, literatura, investigación, tecnología, humanidades, y más.",
38
- "como puedo sacar un libro prestado": "Para sacar un libro en préstamo, debes estar registrado en la biblioteca, presentar tu carné y solicitar el libro en el área de préstamos o a través de nuestra plataforma en línea.",
39
- "cuanto tiempo puedo tener un libro prestado": "El período estándar de préstamo es de 15 días, pero puede variar según el tipo de material. Puedes consultar la duración exacta en el catálogo o con el bibliotecario.",
40
- "puedo renovar el préstamo de un libro": "Sí, puedes renovar el préstamo si el libro no ha sido reservado por otro usuario. Puedes hacerlo en línea o acercándote a la biblioteca.",
41
- "que hago si no puedo devolver un libro a tiempo": "Si no puedes devolver un libro a tiempo, te recomendamos avisar a la biblioteca para evitar multas. En algunos casos, puedes solicitar una extensión del préstamo.",
42
- "como busco un libro en el catalogo": "Para buscar un libro, ingresa el título, autor o palabra clave en el buscador del catálogo en línea disponible en la página web de la biblioteca.",
43
- "puedo reservar un libro que esta prestado": "Sí, puedes reservar libros que estén prestados para que se te notifique cuando estén disponibles para recogerlos.",
44
- "como encuentro libros electronicos": "Puedes acceder a libros electrónicos a través de nuestra plataforma digital. Solo necesitas iniciar sesión con tu usuario de biblioteca.",
45
- "que hago si no encuentro el libro que busco": "Si no encuentras el libro que buscas, puedes pedir ayuda al bibliotecario o solicitar un préstamo interbibliotecario si está disponible.",
46
- "ofrecen acceso a bases de datos científicas": "Sí, la biblioteca ofrece acceso a diversas bases de datos científicas y académicas para consulta de artículos y publicaciones especializadas.",
47
- "hay salas de estudio disponibles": "Sí, contamos con salas de estudio individuales y grupales que puedes reservar para tus sesiones de trabajo.",
48
- "como puedo usar la sala de computadoras": "Para usar la sala de computadoras debes registrarte en recepción y seguir las normas establecidas para su uso.",
49
- "hay acceso a internet en la biblioteca": "Sí, la biblioteca cuenta con acceso a internet inalámbrico gratuito para todos los usuarios.",
50
- "como me registro en la biblioteca": "Para registrarte debes presentar tu documento de identidad y llenar un formulario en la recepción de la biblioteca o en línea desde nuestra página web.",
51
- "que documentos necesito para hacerme miembro": "Necesitarás tu documento de identidad vigente y un comprobante de residencia o matrícula para completar tu registro.",
52
- "puedo usar la biblioteca sin ser miembro": "Sí, puedes usar la biblioteca para consulta en sala, pero para préstamos y acceso a recursos digitales necesitas estar registrado."
53
  }
54
 
55
  # Normalizar documentos
@@ -58,9 +44,9 @@ documentos_normalizados = [normalizar(doc) for doc in documentos]
58
  # --- Preguntas frecuentes personalizadas ---
59
  # --- Son preguntas que se hacen sin signos de pregunta o con signos incompletos ---
60
  faq_personalizadas = {
61
- "con quien estoy hablando": "Estás hablando con BiblioBot, el asistente virtual de la biblioteca 📚.",
62
- "con quien estoy hablando?": "Estás hablando con BiblioBot, el asistente virtual de la biblioteca 📚.",
63
- "hablo":"Estás hablando con BiblioBot, el asistente virtual de la biblioteca 📚.",
64
  "quien eres": "Soy BiblioBot, un chatbot creado para ayudarte con preguntas sobre la biblioteca.",
65
  "cuales son los horarios de la biblioteca": "La biblioteca abre de lunes a viernes de 8:00 a.m. a 6:00 p.m.",
66
  "cuales son los horarios de la biblioteca?": "La biblioteca abre de lunes a viernes de 8:00 a.m. a 6:00 p.m.",
@@ -127,12 +113,30 @@ faq_personalizadas = {
127
  "libro recomendado": "¿Buscas recomendaciones? Puedo sugerirte libros populares, novedades o lecturas según tus preferencias y área de interés.",
128
  "prestar libro": "Para prestar un libro necesitas estar registrado en la biblioteca. Solo debes presentar tu carné y cumplir con los requisitos de préstamo vigentes.",
129
  "reservar libro": "Si un libro está prestado, puedes reservarlo desde nuestra plataforma en línea para que te avisemos cuando esté disponible.",
 
 
130
  "libros para estudiar": "Tenemos una amplia colección de libros especializados para diferentes áreas de estudio. ¿Me dices qué materia te interesa para ayudarte mejor?",
131
  "libro electrónico": "También ofrecemos acceso a libros electrónicos que puedes leer desde cualquier dispositivo con internet. ¿Quieres que te explique cómo acceder a ellos?",
132
  "libros de historia": "En la sección de historia encontrarás libros organizados por periodos y regiones. Puedo ayudarte a buscar títulos específicos o sugerirte algunos.",
133
  "consulta de libros": "Puedes consultar la disponibilidad, ubicación y detalles de cualquier libro a través de nuestro catálogo en línea o preguntarme aquí directamente.",
134
  "buscar textos": "Puedes buscar libros, artículos y otros textos académicos en nuestro catálogo digital con solo ingresar las palabras clave.",
135
- "libros académicos": "Contamos con una amplia variedad de libros académicos para todas las carreras. ¿Qué área o tema te gustaría explorar?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  }
137
 
138
  # Normalizar claves de faq_personalizadas
@@ -159,9 +163,9 @@ def respuesta_basica(texto):
159
  if any(s in texto for s in saludos):
160
  return "¡Hola! ¿En qué puedo ayudarte con la biblioteca?"
161
  elif any(d in texto for d in despedidas):
162
- return "¡Hasta luego! No olvides devolver tus libros a tiempo 📚."
163
  elif any(a in texto for a in agradecimientos):
164
- return "¡De nada! Estoy aquí para ayudarte 😊."
165
  else:
166
  return None
167
 
@@ -196,25 +200,25 @@ gr.ChatInterface(
196
  title="📚 BiblioBot",
197
  description="¡Bienvenido a BiblioBot! Pregunta sobre libros, horarios o servicios de biblioteca.",
198
  examples=[
199
- "¿Cuál es el horario de la biblioteca?",
200
  "¿Puedo comer dentro de la biblioteca?",
201
- "¿Qué pasa si pierdo un libro?",
202
- "¿Cómo puedo sacar un libro prestado?",
203
- "¿Cuánto tiempo puedo tener un libro prestado?",
204
- "¿Puedo renovar el préstamo de un libro?",
205
- "¿Dónde está ubicada la biblioteca?",
206
  "¿Hay salas de estudio disponibles?",
207
- "¿Cómo busco un libro en el catálogo?",
208
- "¿Puedo reservar un libro que está prestado?",
209
- "¿Cómo encuentro libros electrónicos?",
210
- "¿Ofrecen acceso a bases de datos científicas?",
211
  "¿Hay acceso a internet en la biblioteca?",
212
- "¿Cómo me registro en la biblioteca?",
213
- "¿Qué documentos necesito para hacerme miembro?",
214
  "¿Puedo usar la biblioteca sin ser miembro?",
215
- "¿Cuáles son las normas de la biblioteca?",
216
- "¿Cómo reporto un libro dañado o perdido?",
217
- "¿Tienen ayuda para trabajos de investigación?",
218
  "hola",
219
  "gracias"
220
  ],
 
35
  "¿Como se calculan las multas?": "Las multas por retraso en la devolución se calculan por día hábil de retraso.",
36
  "¿Con quien estoy hablando?": "Estás hablando con un chatbot diseñado para ayudarte con información sobre la biblioteca.",
37
  "¿Que categorías de libros hay?": "La biblioteca cuenta con libros de texto, literatura, investigación, tecnología, humanidades, y más.",
38
+ "¿Como puedo sacar un libro prestado?": "Para sacar un libro en préstamo, debes estar registrado en la biblioteca, presentar tu carné y solicitar el libro en el área de préstamos o a través de nuestra plataforma en línea."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  }
40
 
41
  # Normalizar documentos
 
44
  # --- Preguntas frecuentes personalizadas ---
45
  # --- Son preguntas que se hacen sin signos de pregunta o con signos incompletos ---
46
  faq_personalizadas = {
47
+ "con quien estoy hablando": "Estás hablando con BiblioBot, el asistente virtual de la biblioteca.",
48
+ "con quien estoy hablando?": "Estás hablando con BiblioBot, el asistente virtual de la biblioteca.",
49
+ "hablo":"Estás hablando con BiblioBot, el asistente virtual de la biblioteca.",
50
  "quien eres": "Soy BiblioBot, un chatbot creado para ayudarte con preguntas sobre la biblioteca.",
51
  "cuales son los horarios de la biblioteca": "La biblioteca abre de lunes a viernes de 8:00 a.m. a 6:00 p.m.",
52
  "cuales son los horarios de la biblioteca?": "La biblioteca abre de lunes a viernes de 8:00 a.m. a 6:00 p.m.",
 
113
  "libro recomendado": "¿Buscas recomendaciones? Puedo sugerirte libros populares, novedades o lecturas según tus preferencias y área de interés.",
114
  "prestar libro": "Para prestar un libro necesitas estar registrado en la biblioteca. Solo debes presentar tu carné y cumplir con los requisitos de préstamo vigentes.",
115
  "reservar libro": "Si un libro está prestado, puedes reservarlo desde nuestra plataforma en línea para que te avisemos cuando esté disponible.",
116
+ "prestar": "Para prestar un libro necesitas estar registrado en la biblioteca. Solo debes presentar tu carné y cumplir con los requisitos de préstamo vigentes.",
117
+ "reservar": "Si un libro está prestado, puedes reservarlo desde nuestra plataforma en línea para que te avisemos cuando esté disponible.",
118
  "libros para estudiar": "Tenemos una amplia colección de libros especializados para diferentes áreas de estudio. ¿Me dices qué materia te interesa para ayudarte mejor?",
119
  "libro electrónico": "También ofrecemos acceso a libros electrónicos que puedes leer desde cualquier dispositivo con internet. ¿Quieres que te explique cómo acceder a ellos?",
120
  "libros de historia": "En la sección de historia encontrarás libros organizados por periodos y regiones. Puedo ayudarte a buscar títulos específicos o sugerirte algunos.",
121
  "consulta de libros": "Puedes consultar la disponibilidad, ubicación y detalles de cualquier libro a través de nuestro catálogo en línea o preguntarme aquí directamente.",
122
  "buscar textos": "Puedes buscar libros, artículos y otros textos académicos en nuestro catálogo digital con solo ingresar las palabras clave.",
123
+ "libros académicos": "Contamos con una amplia variedad de libros académicos para todas las carreras. ¿Qué área o tema te gustaría explorar?",
124
+ "¿Puedo usar la biblioteca sin ser miembro?": "Sí, puedes usar la biblioteca para consulta en sala, pero para préstamos y acceso a recursos digitales necesitas estar registrado.",
125
+ "¿Como reporto un libro dañado o perdido?": "Debes notificar al personal directamente o enviar un correo al soporte de la biblioteca.",
126
+ "¿Cuanto tiempo puedo tener un libro prestado?": "El período estándar de préstamo es de 15 días, pero puede variar según el tipo de material. Puedes consultar la duración exacta en el catálogo o con el bibliotecario.",
127
+ "¿Puedo renovar el préstamo de un libro?": "Sí, puedes renovar el préstamo si el libro no ha sido reservado por otro usuario. Puedes hacerlo en línea o acercándote a la biblioteca.",
128
+ "¿Que hago si no puedo devolver un libro a tiempo?": "Si no puedes devolver un libro a tiempo, te recomendamos avisar a la biblioteca para evitar multas. En algunos casos, puedes solicitar una extensión del préstamo.",
129
+ "¿Como busco un libro en el catalogo?": "Para buscar un libro, ingresa el título, autor o palabra clave en el buscador del catálogo en línea disponible en la página web de la biblioteca.",
130
+ "¿Puedo reservar un libro que esta prestado?": "Sí, puedes reservar libros que estén prestados para que se te notifique cuando estén disponibles para recogerlos.",
131
+ "¿Como encuentro libros electronicos?": "Puedes acceder a libros electrónicos a través de nuestra plataforma digital. Solo necesitas iniciar sesión con tu usuario de biblioteca.",
132
+ "¿Que hago si no encuentro el libro que busco?": "Si no encuentras el libro que buscas, puedes pedir ayuda al bibliotecario o solicitar un préstamo interbibliotecario si está disponible.",
133
+ "¿Ofrecen acceso a bases de datos cientificas?": "Sí, la biblioteca ofrece acceso a diversas bases de datos científicas y académicas para consulta de artículos y publicaciones especializadas.",
134
+ "¿Hay salas de estudio disponibles?": "Sí, contamos con salas de estudio individuales y grupales que puedes reservar para tus sesiones de trabajo.",
135
+ "¿Como puedo usar la sala de computadoras?": "Para usar la sala de computadoras debes registrarte en recepción y seguir las normas establecidas para su uso.",
136
+ "¿Hay acceso a internet en la biblioteca?": "Sí, la biblioteca cuenta con acceso a internet inalámbrico gratuito para todos los usuarios.",
137
+ "¿Como me registro en la biblioteca?": "Para registrarte debes presentar tu documento de identidad y llenar un formulario en la recepción de la biblioteca o en línea desde nuestra página web.",
138
+ "¿Que documentos necesito para hacerme miembro?": "Necesitarás tu documento de identidad vigente y un comprobante de residencia o matrícula para completar tu registro."
139
+
140
  }
141
 
142
  # Normalizar claves de faq_personalizadas
 
163
  if any(s in texto for s in saludos):
164
  return "¡Hola! ¿En qué puedo ayudarte con la biblioteca?"
165
  elif any(d in texto for d in despedidas):
166
+ return "¡Hasta luego! No olvides devolver tus libros a tiempo."
167
  elif any(a in texto for a in agradecimientos):
168
+ return "¡De nada! Estoy aquí para ayudarte."
169
  else:
170
  return None
171
 
 
200
  title="📚 BiblioBot",
201
  description="¡Bienvenido a BiblioBot! Pregunta sobre libros, horarios o servicios de biblioteca.",
202
  examples=[
203
+ "¿Cual es el horario de la biblioteca?",
204
  "¿Puedo comer dentro de la biblioteca?",
205
+ "¿Que pasa si pierdo un libro?",
206
+ "¿Como puedo sacar un libro prestado?",
207
+ "¿Cuanto tiempo puedo tener un libro prestado?",
208
+ "¿Puedo renovar el prestamo de un libro?",
209
+ "¿Donde esta ubicada la biblioteca?",
210
  "¿Hay salas de estudio disponibles?",
211
+ "¿Como busco un libro en el catalogo?",
212
+ "¿Puedo reservar un libro que esta prestado?",
213
+ "¿Como encuentro libros electronicos?",
214
+ "¿Ofrecen acceso a bases de datos cientificas?",
215
  "¿Hay acceso a internet en la biblioteca?",
216
+ "¿Como me registro en la biblioteca?",
217
+ "¿Que documentos necesito para hacerme miembro?",
218
  "¿Puedo usar la biblioteca sin ser miembro?",
219
+ "¿Cuales son las normas de la biblioteca?",
220
+ "¿Como reporto un libro dañado o perdido?",
221
+ "¿Tienen ayuda para trabajos de investigacion?",
222
  "hola",
223
  "gracias"
224
  ],