C2MV commited on
Commit
bcaa66a
·
verified ·
1 Parent(s): 0108ace

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -12
app.py CHANGED
@@ -1,6 +1,6 @@
1
  import gradio as gr
2
  import torch
3
- from transformers import AutoModel, AutoTokenizer, MarianMTModel, MarianTokenizer
4
  import time
5
  from functools import wraps
6
  import sys
@@ -24,7 +24,7 @@ if device == "cpu":
24
  print("Advertencia: CUDA no está disponible. Se usará la CPU, lo que puede ser lento.")
25
 
26
  # Cargar el tokenizador y el modelo principal desde HuggingFace
27
- model_name = "yangheng/OmniGenome-52M"
28
 
29
  try:
30
  print("Cargando el tokenizador y el modelo desde HuggingFace...")
@@ -34,7 +34,7 @@ except ValueError as e:
34
  sys.exit(1)
35
 
36
  try:
37
- model = AutoModel.from_pretrained(
38
  model_name,
39
  torch_dtype=torch.float16 if device == "cuda" else torch.float32
40
  ).to(device)
@@ -65,15 +65,20 @@ def generar_respuesta(consulta):
65
  # Tokenizar la consulta
66
  inputs = tokenizer.encode(consulta, return_tensors="pt").to(device)
67
 
68
- # Realizar una pasada hacia adelante (forward pass)
 
 
 
 
 
 
 
 
69
  with torch.no_grad():
70
- outputs = model(inputs)
71
 
72
- # Procesar la salida según las capacidades del modelo OmniGenome
73
- # Aquí deberás implementar la lógica específica basada en lo que OmniGenome retorna
74
- # Por ejemplo, si retorna embeddings, podrías convertirlos a texto de alguna manera
75
- # Dado que OmniGenome no está diseñado para generación de texto, este es un placeholder
76
- respuesta = "Salida del modelo OmniGenome no está diseñada para generación de texto."
77
  return respuesta
78
  except Exception as e:
79
  print(f"Error durante la generación de respuesta: {e}")
@@ -111,7 +116,7 @@ def procesar_consulta(consulta, idioma):
111
  return respuesta_original, traduccion
112
 
113
  # Definir la interfaz de Gradio
114
- titulo = "Generador de Respuestas con OmniGenome"
115
  descripcion = "Ingresa una consulta y selecciona el idioma de salida. El modelo generará una respuesta basada en el contenido proporcionado."
116
 
117
  iface = gr.Interface(
@@ -121,7 +126,7 @@ iface = gr.Interface(
121
  gr.Dropdown(choices=["Inglés", "Español"], value="Español", label="Idioma de Salida")
122
  ],
123
  outputs=[
124
- gr.Textbox(label="Respuesta Original"),
125
  gr.Textbox(label="Traducción al Español")
126
  ],
127
  title=titulo,
 
1
  import gradio as gr
2
  import torch
3
+ from transformers import AutoModelForCausalLM, AutoTokenizer, MarianMTModel, MarianTokenizer
4
  import time
5
  from functools import wraps
6
  import sys
 
24
  print("Advertencia: CUDA no está disponible. Se usará la CPU, lo que puede ser lento.")
25
 
26
  # Cargar el tokenizador y el modelo principal desde HuggingFace
27
+ model_name = "dmis-lab/selfbiorag_7b"
28
 
29
  try:
30
  print("Cargando el tokenizador y el modelo desde HuggingFace...")
 
34
  sys.exit(1)
35
 
36
  try:
37
+ model = AutoModelForCausalLM.from_pretrained(
38
  model_name,
39
  torch_dtype=torch.float16 if device == "cuda" else torch.float32
40
  ).to(device)
 
65
  # Tokenizar la consulta
66
  inputs = tokenizer.encode(consulta, return_tensors="pt").to(device)
67
 
68
+ # Configurar los parámetros de generación
69
+ generation_kwargs = {
70
+ "max_new_tokens": 100, # Ajustado a 100
71
+ "do_sample": False # No usar sampling
72
+ # "temperature": 0.6, # Eliminado para evitar advertencias
73
+ # "top_p": 0.9 # Eliminado para evitar advertencias
74
+ }
75
+
76
+ # Generar la respuesta
77
  with torch.no_grad():
78
+ outputs = model.generate(input_ids=inputs, **generation_kwargs)
79
 
80
+ # Decodificar la respuesta
81
+ respuesta = tokenizer.decode(outputs[0], skip_special_tokens=True)
 
 
 
82
  return respuesta
83
  except Exception as e:
84
  print(f"Error durante la generación de respuesta: {e}")
 
116
  return respuesta_original, traduccion
117
 
118
  # Definir la interfaz de Gradio
119
+ titulo = "Generador de Respuestas con SelfBioRAG 7B"
120
  descripcion = "Ingresa una consulta y selecciona el idioma de salida. El modelo generará una respuesta basada en el contenido proporcionado."
121
 
122
  iface = gr.Interface(
 
126
  gr.Dropdown(choices=["Inglés", "Español"], value="Español", label="Idioma de Salida")
127
  ],
128
  outputs=[
129
+ gr.Textbox(label="Respuesta Original (Inglés)"),
130
  gr.Textbox(label="Traducción al Español")
131
  ],
132
  title=titulo,