C2MV commited on
Commit
a58d64d
verified
1 Parent(s): 8dc9171

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -6
app.py CHANGED
@@ -4,6 +4,7 @@ from transformers import AutoModelForCausalLM, AutoTokenizer, MarianMTModel, Mar
4
  import time
5
  from functools import wraps
6
  import sys
 
7
  import spaces # Aseg煤rate de que este m贸dulo est茅 correctamente instalado y disponible
8
 
9
  # Decorador para medir el tiempo de ejecuci贸n
@@ -23,15 +24,22 @@ device = "cuda" if torch.cuda.is_available() else "cpu"
23
  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 de generaci贸n desde HuggingFace
27
  model_name = "dmis-lab/selfbiorag_7b"
28
 
29
  try:
30
  print("Cargando el tokenizador y el modelo de generaci贸n desde HuggingFace...")
31
- tokenizer_gen = AutoTokenizer.from_pretrained(model_name)
32
  model_gen = AutoModelForCausalLM.from_pretrained(
33
  model_name,
34
- torch_dtype=torch.float16 if device == "cuda" else torch.float32
 
35
  ).to(device)
36
  except ValueError as e:
37
  print(f"Error al cargar el tokenizador de generaci贸n: {e}")
@@ -57,8 +65,8 @@ model_trans = {}
57
  for lang, model_name_trans in translation_models.items():
58
  try:
59
  print(f"Cargando el tokenizador y el modelo de traducci贸n para {lang} desde HuggingFace...")
60
- tokenizer = MarianTokenizer.from_pretrained(model_name_trans)
61
- model = MarianMTModel.from_pretrained(model_name_trans).to(device)
62
  tokenizer_trans[lang] = tokenizer
63
  model_trans[lang] = model
64
  except Exception as e:
@@ -98,11 +106,11 @@ def generar_y_traducir_respuesta(consulta, idioma_destino):
98
  model_tr = model_trans[idioma_destino]
99
 
100
  # Preparar la entrada para la traducci贸n
101
- traducir_inputs = tokenizer_tr.prepare_seq2seq_batch([respuesta_en], return_tensors="pt").to(device)
102
 
103
  # Realizar la traducci贸n
104
  with torch.no_grad():
105
- traduccion_outputs = model_tr.generate(**traducir_inputs)
106
 
107
  # Decodificar la traducci贸n
108
  respuesta_traducida = tokenizer_tr.decode(traduccion_outputs[0], skip_special_tokens=True)
 
4
  import time
5
  from functools import wraps
6
  import sys
7
+ import os
8
  import spaces # Aseg煤rate de que este m贸dulo est茅 correctamente instalado y disponible
9
 
10
  # Decorador para medir el tiempo de ejecuci贸n
 
24
  if device == "cpu":
25
  print("Advertencia: CUDA no est谩 disponible. Se usar谩 la CPU, lo que puede ser lento.")
26
 
27
+ # Obtener el token de Hugging Face desde las variables de entorno
28
+ hf_token = os.getenv("HUGGINGFACE_TOKEN")
29
+ if not hf_token:
30
+ print("Error: El token de Hugging Face no est谩 configurado en los secretos.")
31
+ sys.exit(1)
32
+
33
  # Cargar el tokenizador y el modelo de generaci贸n desde HuggingFace
34
  model_name = "dmis-lab/selfbiorag_7b"
35
 
36
  try:
37
  print("Cargando el tokenizador y el modelo de generaci贸n desde HuggingFace...")
38
+ tokenizer_gen = AutoTokenizer.from_pretrained(model_name, use_auth_token=hf_token)
39
  model_gen = AutoModelForCausalLM.from_pretrained(
40
  model_name,
41
+ torch_dtype=torch.float16 if device == "cuda" else torch.float32,
42
+ use_auth_token=hf_token
43
  ).to(device)
44
  except ValueError as e:
45
  print(f"Error al cargar el tokenizador de generaci贸n: {e}")
 
65
  for lang, model_name_trans in translation_models.items():
66
  try:
67
  print(f"Cargando el tokenizador y el modelo de traducci贸n para {lang} desde HuggingFace...")
68
+ tokenizer = MarianTokenizer.from_pretrained(model_name_trans, use_auth_token=hf_token)
69
+ model = MarianMTModel.from_pretrained(model_name_trans, use_auth_token=hf_token).to(device)
70
  tokenizer_trans[lang] = tokenizer
71
  model_trans[lang] = model
72
  except Exception as e:
 
106
  model_tr = model_trans[idioma_destino]
107
 
108
  # Preparar la entrada para la traducci贸n
109
+ traducir_inputs = tokenizer_tr.encode(respuesta_en, return_tensors="pt").to(device)
110
 
111
  # Realizar la traducci贸n
112
  with torch.no_grad():
113
+ traduccion_outputs = model_tr.generate(input_ids=traducir_inputs, max_length=512)
114
 
115
  # Decodificar la traducci贸n
116
  respuesta_traducida = tokenizer_tr.decode(traduccion_outputs[0], skip_special_tokens=True)