Javier1987 commited on
Commit
bfed830
·
verified ·
1 Parent(s): 20ac76e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -7
app.py CHANGED
@@ -2,34 +2,37 @@ import gradio as gr
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
3
  import torch
4
 
5
- # Cargar el modelo y el tokenizador
6
  model_name = "datificate/gpt2-small-spanish"
7
  tokenizer = AutoTokenizer.from_pretrained(model_name)
8
  model = AutoModelForCausalLM.from_pretrained(model_name)
9
 
10
- # Respuestas fijas para intenciones comunes
11
  RESPUESTAS_FIJAS = {
12
- "hola": "¡Hola! 😊 ¿En qué puedo ayudarte hoy?",
13
  "horario": "Nuestro horario es de lunes a viernes de 08:00 a 20:00, y sábados de 08:00 a 13:00.",
14
- "requerimiento": "¿Podrías especificar el tipo de requerimiento que tienes? Estoy aquí para ayudarte.",
 
 
 
15
  }
16
 
17
  def chatbot_hibrido(message, history):
18
  msg_lower = message.lower()
19
 
20
- # Verificar si hay una respuesta fija
21
  for key, respuesta in RESPUESTAS_FIJAS.items():
22
  if key in msg_lower:
23
  history.append((message, respuesta))
24
  return "", history
25
 
26
- # Si no hay respuesta fija, usar el modelo GPT-2
27
  prompt = f"Tú eres un asistente virtual de la biblioteca PUCEI. Responde de manera breve y clara.\nUsuario: {message}\nBot:"
28
  input_ids = tokenizer.encode(prompt, return_tensors="pt")
29
 
30
  output_ids = model.generate(
31
  input_ids,
32
- max_length=50,
33
  do_sample=True,
34
  top_k=20,
35
  top_p=0.9,
@@ -39,6 +42,7 @@ def chatbot_hibrido(message, history):
39
  history.append((message, response))
40
  return "", history
41
 
 
42
  with gr.Blocks() as demo:
43
  gr.Markdown("## 🤖 Chatbot Biblioteca PUCEI (Híbrido, Español)")
44
  chatbot_ui = gr.Chatbot()
 
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
3
  import torch
4
 
5
+ # Modelo pequeño en español
6
  model_name = "datificate/gpt2-small-spanish"
7
  tokenizer = AutoTokenizer.from_pretrained(model_name)
8
  model = AutoModelForCausalLM.from_pretrained(model_name)
9
 
10
+ # Respuestas fijas (intenciones frecuentes)
11
  RESPUESTAS_FIJAS = {
12
+ "hola": "¡Hola! 😊 Bienvenido a la biblioteca PUCEI. ¿En qué puedo ayudarte?",
13
  "horario": "Nuestro horario es de lunes a viernes de 08:00 a 20:00, y sábados de 08:00 a 13:00.",
14
+ "requerimiento": "Por favor, indica el tipo de requerimiento que deseas realizar.",
15
+ "libros": "Puedes consultar los libros disponibles en nuestra biblioteca desde el catálogo en línea.",
16
+ "ubicación": "La biblioteca PUCEI se encuentra en la sede principal, edificio central.",
17
+ "contacto": "Puedes contactarnos al correo biblioteca@pucei.edu.ec o al teléfono (06) XXX-XXXX.",
18
  }
19
 
20
  def chatbot_hibrido(message, history):
21
  msg_lower = message.lower()
22
 
23
+ # Revisar si hay respuesta fija
24
  for key, respuesta in RESPUESTAS_FIJAS.items():
25
  if key in msg_lower:
26
  history.append((message, respuesta))
27
  return "", history
28
 
29
+ # Si no hay respuesta fija usar modelo GPT-2 como complemento
30
  prompt = f"Tú eres un asistente virtual de la biblioteca PUCEI. Responde de manera breve y clara.\nUsuario: {message}\nBot:"
31
  input_ids = tokenizer.encode(prompt, return_tensors="pt")
32
 
33
  output_ids = model.generate(
34
  input_ids,
35
+ max_length=40, # límite para que no divague
36
  do_sample=True,
37
  top_k=20,
38
  top_p=0.9,
 
42
  history.append((message, response))
43
  return "", history
44
 
45
+ # Interfaz Gradio
46
  with gr.Blocks() as demo:
47
  gr.Markdown("## 🤖 Chatbot Biblioteca PUCEI (Híbrido, Español)")
48
  chatbot_ui = gr.Chatbot()