jjvelezo commited on
Commit
f08e8ab
·
verified ·
1 Parent(s): 1a451f5

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +33 -1
agent.py CHANGED
@@ -1,11 +1,13 @@
1
  import os
2
  import requests
3
  from huggingface_hub import hf_api
 
4
 
5
  # Cargar el token de Hugging Face desde el entorno
6
  HF_TOKEN = os.getenv("HF_TOKEN")
7
  MODEL_NAME = os.getenv("MODEL_NAME", "google/gemma-2b-it")
8
  print("HF_TOKEN desde agent.py:", HF_TOKEN[:10] if HF_TOKEN else "NO DEFINIDO")
 
9
  # Función para llamar al modelo y obtener respuesta
10
  def call_model(prompt):
11
  """
@@ -36,6 +38,34 @@ def call_model(prompt):
36
  except Exception as e:
37
  raise ValueError(f"Error al obtener respuesta del modelo: {str(e)}")
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  # Clase para representar la lógica del agente
40
  class Agente:
41
  def __init__(self):
@@ -62,10 +92,12 @@ def evaluar_preguntas(preguntas):
62
  agente = Agente()
63
  respuestas = []
64
 
 
 
 
65
  for pregunta in preguntas:
66
  print(f"Evaluando: {pregunta}")
67
  respuesta = agente.procesar_pregunta(pregunta)
68
  respuestas.append(respuesta)
69
 
70
  return respuestas
71
-
 
1
  import os
2
  import requests
3
  from huggingface_hub import hf_api
4
+ import time
5
 
6
  # Cargar el token de Hugging Face desde el entorno
7
  HF_TOKEN = os.getenv("HF_TOKEN")
8
  MODEL_NAME = os.getenv("MODEL_NAME", "google/gemma-2b-it")
9
  print("HF_TOKEN desde agent.py:", HF_TOKEN[:10] if HF_TOKEN else "NO DEFINIDO")
10
+
11
  # Función para llamar al modelo y obtener respuesta
12
  def call_model(prompt):
13
  """
 
38
  except Exception as e:
39
  raise ValueError(f"Error al obtener respuesta del modelo: {str(e)}")
40
 
41
+ # Función para esperar que el modelo esté listo
42
+ def wait_for_model():
43
+ """
44
+ Espera hasta que el modelo esté completamente cargado y disponible para hacer solicitudes.
45
+ """
46
+ headers = {
47
+ "Authorization": f"Bearer {HF_TOKEN}",
48
+ "Content-Type": "application/json"
49
+ }
50
+
51
+ # Intentamos hacer un request a la API del modelo cada 10 segundos
52
+ while True:
53
+ try:
54
+ response = requests.get(
55
+ f"https://api-inference.huggingface.co/models/{MODEL_NAME}",
56
+ headers=headers,
57
+ timeout=30
58
+ )
59
+ # Si el modelo responde sin error, lo consideramos listo
60
+ if response.status_code == 200:
61
+ print(f"Modelo {MODEL_NAME} listo para recibir solicitudes.")
62
+ break
63
+ else:
64
+ print(f"Esperando que el modelo {MODEL_NAME} esté listo... (estado {response.status_code})")
65
+ except requests.exceptions.RequestException as e:
66
+ print(f"Error al verificar el estado del modelo: {e}")
67
+ time.sleep(10) # Esperar 10 segundos antes de intentar nuevamente
68
+
69
  # Clase para representar la lógica del agente
70
  class Agente:
71
  def __init__(self):
 
92
  agente = Agente()
93
  respuestas = []
94
 
95
+ # Esperar a que el modelo esté listo
96
+ wait_for_model()
97
+
98
  for pregunta in preguntas:
99
  print(f"Evaluando: {pregunta}")
100
  respuesta = agente.procesar_pregunta(pregunta)
101
  respuestas.append(respuesta)
102
 
103
  return respuestas