susanazhou commited on
Commit
b97637a
·
verified ·
1 Parent(s): 170f4c2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -31
app.py CHANGED
@@ -1,51 +1,48 @@
1
  import gradio as gr
2
- from huggingface_hub import InferenceClient
 
3
 
4
- """
5
- For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
6
- """
7
- client = InferenceClient("susanazhou/our.modelo_final")
8
 
 
 
 
9
 
10
- # Función para generar respuesta usando text_generation
11
  def respond(message, history, system_message, max_tokens, temperature, top_p):
12
- # Arma el prompt incluyendo sistema, historial y nuevo mensaje
13
  prompt = system_message + "\n"
14
- for user_input, assistant_response in history:
15
- prompt += f"Usuario: {user_input}\nAsistente: {assistant_response}\n"
16
  prompt += f"Usuario: {message}\nAsistente:"
17
 
18
- # Llama a la API de Hugging Face para generar texto
19
- response = client.text_generation(
20
- prompt=prompt,
 
21
  max_new_tokens=max_tokens,
22
  temperature=temperature,
23
  top_p=top_p,
 
24
  )
25
 
26
- # Extrae solo la parte generada (quita el prompt original)
27
- generated_text = response.generated_text[len(prompt):]
28
- return generated_text
29
 
30
-
31
-
32
- # ------------------------
33
  # Descripción del proyecto
34
- # ------------------------
35
-
36
  descripcion = """
37
  # 💬 LeIA GO: Explorando las variedades del español con NLP
38
 
39
- ¿Sabías que más casi todos los modelos de NLP están entrenados principalmente en inglés? Mientras tanto, el español —hablado por más de 500 millones de personas— sigue estando subrepresentado, especialmente en sus variedades regionales.
40
  *LeIA GO* nace para abordar este problema: un asistente lingüístico que analiza, genera, corrige y adapta textos teniendo en cuenta diferencias culturales y lingüísticas de distintas variedades del español.
41
 
42
-
43
  ---
44
 
45
  ### 🚀 Motivación
46
  Nuestro proyecto nace con el objetivo de estudiar las diferencias lingüísticas entre las distintas variedades del español y sus normas culturales asociadas. Buscamos comprender mejor cómo varía el idioma en diferentes regiones para mejorar el procesamiento del lenguaje natural en español.
47
 
48
-
49
  ### 🌍 Impacto
50
  Actualmente, la mayoría de los recursos y modelos de NLP están centrados en el inglés, mientras que el español, especialmente en sus múltiples variedades, cuenta con menos datos y herramientas de calidad. Nuestro proyecto pretende contribuir a mejorar la calidad y diversidad de los datos disponibles en español, facilitando el desarrollo de tecnologías más inclusivas y precisas para esta lengua.
51
 
@@ -58,24 +55,19 @@ Actualmente, la mayoría de los recursos y modelos de NLP están centrados en el
58
  ### 🎯 Objetivo de desarrollo sostenible (ODS)
59
  Este proyecto contribuye al ODS 4: Educación de Calidad, promoviendo el acceso a recursos lingüísticos diversos que favorezcan la educación y la inclusión cultural a través del lenguaje.
60
 
61
-
62
  ### 👥 Equipo
63
  – ⁠Susana Zhou (Español peninsular)
64
  – ⁠Constanza Jeldres (Español de Chile)
65
  – ⁠Gabriel Schwartzmann (Español de Perú)
66
  """
67
 
68
- # ------------------------
69
- # Interfaz con pestañas
70
- # ------------------------
71
-
72
  with gr.Blocks() as demo:
73
  with gr.Tab("Descripción del Proyecto"):
74
  gr.Markdown(descripcion)
75
-
76
  with gr.Tab("Chatbot LeIA GO"):
77
  gr.ChatInterface(
78
- fn=respond,
79
  additional_inputs=[
80
  gr.Textbox(value="Eres una asistente lingüística especializada en español regional.", label="System message"),
81
  gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
@@ -84,6 +76,5 @@ with gr.Blocks() as demo:
84
  ],
85
  )
86
 
87
- # Lanza la app
88
  if __name__ == "__main__":
89
  demo.launch()
 
1
  import gradio as gr
2
+ import torch
3
+ from transformers import AutoModelForCausalLM, AutoTokenizer
4
 
5
+ # Configuración del modelo
6
+ model_id = "susanazhou/our.modelo_final"
7
+ device = "cuda" if torch.cuda.is_available() else "cpu"
 
8
 
9
+ # Cargar modelo y tokenizer
10
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
11
+ model = AutoModelForCausalLM.from_pretrained(model_id).to(device)
12
 
13
+ # Función para responder
14
  def respond(message, history, system_message, max_tokens, temperature, top_p):
 
15
  prompt = system_message + "\n"
16
+ for user, assistant in history:
17
+ prompt += f"Usuario: {user}\nAsistente: {assistant}\n"
18
  prompt += f"Usuario: {message}\nAsistente:"
19
 
20
+ inputs = tokenizer(prompt, return_tensors="pt").to(device)
21
+
22
+ output = model.generate(
23
+ **inputs,
24
  max_new_tokens=max_tokens,
25
  temperature=temperature,
26
  top_p=top_p,
27
+ pad_token_id=tokenizer.eos_token_id,
28
  )
29
 
30
+ decoded = tokenizer.decode(output[0], skip_special_tokens=True)
31
+ respuesta = decoded[len(prompt):].strip()
32
+ return respuesta
33
 
 
 
 
34
  # Descripción del proyecto
 
 
35
  descripcion = """
36
  # 💬 LeIA GO: Explorando las variedades del español con NLP
37
 
38
+ ¿Sabías que casi todos los modelos de NLP están entrenados principalmente en inglés? Mientras tanto, el español —hablado por más de 500 millones de personas— sigue estando subrepresentado, especialmente en sus variedades regionales.
39
  *LeIA GO* nace para abordar este problema: un asistente lingüístico que analiza, genera, corrige y adapta textos teniendo en cuenta diferencias culturales y lingüísticas de distintas variedades del español.
40
 
 
41
  ---
42
 
43
  ### 🚀 Motivación
44
  Nuestro proyecto nace con el objetivo de estudiar las diferencias lingüísticas entre las distintas variedades del español y sus normas culturales asociadas. Buscamos comprender mejor cómo varía el idioma en diferentes regiones para mejorar el procesamiento del lenguaje natural en español.
45
 
 
46
  ### 🌍 Impacto
47
  Actualmente, la mayoría de los recursos y modelos de NLP están centrados en el inglés, mientras que el español, especialmente en sus múltiples variedades, cuenta con menos datos y herramientas de calidad. Nuestro proyecto pretende contribuir a mejorar la calidad y diversidad de los datos disponibles en español, facilitando el desarrollo de tecnologías más inclusivas y precisas para esta lengua.
48
 
 
55
  ### 🎯 Objetivo de desarrollo sostenible (ODS)
56
  Este proyecto contribuye al ODS 4: Educación de Calidad, promoviendo el acceso a recursos lingüísticos diversos que favorezcan la educación y la inclusión cultural a través del lenguaje.
57
 
 
58
  ### 👥 Equipo
59
  – ⁠Susana Zhou (Español peninsular)
60
  – ⁠Constanza Jeldres (Español de Chile)
61
  – ⁠Gabriel Schwartzmann (Español de Perú)
62
  """
63
 
64
+ # Interfaz Gradio
 
 
 
65
  with gr.Blocks() as demo:
66
  with gr.Tab("Descripción del Proyecto"):
67
  gr.Markdown(descripcion)
 
68
  with gr.Tab("Chatbot LeIA GO"):
69
  gr.ChatInterface(
70
+ respond,
71
  additional_inputs=[
72
  gr.Textbox(value="Eres una asistente lingüística especializada en español regional.", label="System message"),
73
  gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
 
76
  ],
77
  )
78
 
 
79
  if __name__ == "__main__":
80
  demo.launch()