Moibe commited on
Commit
2690756
·
1 Parent(s): b818e7a

Optimización en uso de segundos de capa gratuita

Browse files
Files changed (4) hide show
  1. conexion_firebase.py +10 -11
  2. funciones.py +4 -6
  3. herramientas.py +9 -22
  4. test.py +0 -3
conexion_firebase.py CHANGED
@@ -40,17 +40,16 @@ def creaDato(coleccion, dato, info, contenido):
40
  doc_ref = db.collection(coleccion).document(dato)
41
 
42
  doc_ref.set({
43
- # 'quote': quote,
44
  info: contenido,
45
  })
46
 
47
- def verificar_token(id_token):
48
- """Verifica el token de ID de Firebase."""
49
- try:
50
- # Verifica el token y decodifica la información del usuario
51
- decoded_token = auth.verify_id_token(id_token)
52
- uid = decoded_token['uid']
53
- return uid # Retorna el UID del usuario si el token es válido
54
- except auth.InvalidIdTokenError as e:
55
- print(f"Token inválido: {e}")
56
- return None # Retorna None si el token es inválido
 
40
  doc_ref = db.collection(coleccion).document(dato)
41
 
42
  doc_ref.set({
 
43
  info: contenido,
44
  })
45
 
46
+ # def verificar_token(id_token):
47
+ # """Verifica el token de ID de Firebase."""
48
+ # try:
49
+ # # Verifica el token y decodifica la información del usuario
50
+ # decoded_token = auth.verify_id_token(id_token)
51
+ # uid = decoded_token['uid']
52
+ # return uid # Retorna el UID del usuario si el token es válido
53
+ # except auth.InvalidIdTokenError as e:
54
+ # print(f"Token inválido: {e}")
55
+ # return None # Retorna None si el token es inválido
funciones.py CHANGED
@@ -37,8 +37,8 @@ def genera_platillo_gpu(platillo):
37
  return result[0]
38
 
39
  except Exception as e:
40
- print("Excepción es: ", e)
41
- # Opción para regresar imagen genérica.
42
  # return "default.png"
43
  return '{"Error 500": e}'
44
 
@@ -49,7 +49,7 @@ def genera_platillo_inference(platillo):
49
  modelo_actual = conexion_firebase.obtenDato('nowme', 'huggingface', 'modelo_actual')
50
  modelo = modelo_actual
51
 
52
- print("Modelo:", modelo)
53
 
54
  prompt = globales.previo + platillo
55
  print("Platillo enviado:", platillo)
@@ -66,7 +66,7 @@ def genera_platillo_inference(platillo):
66
  )
67
 
68
  except Exception as e:
69
- print("Excepción es: ", e)
70
  if "Gateway Time-out" in str(e):
71
  print("GATEWAY TIME-OUT 💀")
72
  modelo=globales.inferencia_backup
@@ -74,8 +74,6 @@ def genera_platillo_inference(platillo):
74
  herramientas.modificaModeloActual(modelo)
75
  return f"Error: {e}"
76
 
77
- #Cuando es GPU, debe de restar segundos disponibles de HF
78
- herramientas.restaSegundosGPU(globales.work_cost)
79
  img_io = io.BytesIO()
80
  image.save(img_io, "PNG")
81
  img_io.seek(0)
 
37
  return result[0]
38
 
39
  except Exception as e:
40
+ print("Excepción: ", e)
41
+ # Opción para regresar imagen genérica. (ya no porque se envía desde backend.)
42
  # return "default.png"
43
  return '{"Error 500": e}'
44
 
 
49
  modelo_actual = conexion_firebase.obtenDato('nowme', 'huggingface', 'modelo_actual')
50
  modelo = modelo_actual
51
 
52
+ #print("Modelo:", modelo)
53
 
54
  prompt = globales.previo + platillo
55
  print("Platillo enviado:", platillo)
 
66
  )
67
 
68
  except Exception as e:
69
+ print("Excepción: ", e)
70
  if "Gateway Time-out" in str(e):
71
  print("GATEWAY TIME-OUT 💀")
72
  modelo=globales.inferencia_backup
 
74
  herramientas.modificaModeloActual(modelo)
75
  return f"Error: {e}"
76
 
 
 
77
  img_io = io.BytesIO()
78
  image.save(img_io, "PNG")
79
  img_io.seek(0)
herramientas.py CHANGED
@@ -19,23 +19,6 @@ def obtenUltimoTimestamp():
19
  resultado = conexion_firebase.obtenDato('nowme', 'huggingface', last_timestamp)
20
 
21
  return resultado
22
-
23
- def esNuevoDia():
24
- """
25
- Compara dos timestamps (en formato string ISO) y devuelve True si han
26
- pasado más de 24 horas entre ellos, False en caso contrario.
27
- """
28
-
29
- timestamp_original = obtenUltimoTimestamp()
30
- timestamp_actual = int(time.time())
31
-
32
- try:
33
- segundos_en_24_horas = 24 * 60 * 60
34
- diferencia_en_segundos = abs(timestamp_actual - timestamp_original)
35
- return diferencia_en_segundos > segundos_en_24_horas
36
- except ValueError:
37
- print("Error: Formato de timestamp incorrecto.")
38
- return False
39
 
40
  def obtenSegundosDisponibles():
41
 
@@ -56,6 +39,7 @@ def renuevaSegundosDisponibles():
56
  def renuevaTimestampActual():
57
 
58
  timestamp_actual = int(time.time())
 
59
  conexion_firebase.editaDato('nowme', 'huggingface', last_timestamp, timestamp_actual)
60
 
61
  def restaSegundosGPU(cuantos_segundos):
@@ -122,16 +106,19 @@ def esDiaSiguiente():
122
  timestamp_registro, False si es el mismo día.
123
  """
124
 
125
- # Convertir los timestamps Unix a objetos datetime (zona horaria local)
126
- fecha_registro_dt = datetime.fromtimestamp(obtenUltimoTimestamp())
127
-
128
 
129
- #fecha_actual_dt = datetime.fromtimestamp(int(time.time())) #Timestamp actual.
130
  fecha_actual_dt = datetime.fromtimestamp(int(time.time()))
 
131
 
132
  # Extraer solo la fecha de los objetos datetime
133
  fecha_registro = fecha_registro_dt.date()
134
  fecha_actual = fecha_actual_dt.date()
135
 
136
  # Verificar si las fechas son diferentes
137
- return fecha_actual > fecha_registro
 
 
 
19
  resultado = conexion_firebase.obtenDato('nowme', 'huggingface', last_timestamp)
20
 
21
  return resultado
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  def obtenSegundosDisponibles():
24
 
 
39
  def renuevaTimestampActual():
40
 
41
  timestamp_actual = int(time.time())
42
+ print("El timestamp que está por escribir como el nuevo timestamp es: ", timestamp_actual)
43
  conexion_firebase.editaDato('nowme', 'huggingface', last_timestamp, timestamp_actual)
44
 
45
  def restaSegundosGPU(cuantos_segundos):
 
106
  timestamp_registro, False si es el mismo día.
107
  """
108
 
109
+ #Obtiene el último registro de fecha de la base de firestore.
110
+ fecha_registro_dt = datetime.fromtimestamp(obtenUltimoTimestamp())
111
+ #print("Fecha guardada en base: ", fecha_registro_dt)
112
 
113
+ #Timestamp actual
114
  fecha_actual_dt = datetime.fromtimestamp(int(time.time()))
115
+ #print("Fecha actual now: ", fecha_actual_dt)
116
 
117
  # Extraer solo la fecha de los objetos datetime
118
  fecha_registro = fecha_registro_dt.date()
119
  fecha_actual = fecha_actual_dt.date()
120
 
121
  # Verificar si las fechas son diferentes
122
+ resultado = fecha_actual > fecha_registro
123
+ #print("Resultado de resta de fechas: ", resultado)
124
+ return resultado
test.py DELETED
@@ -1,3 +0,0 @@
1
- import herramientas
2
-
3
- print(herramientas.nuevoDia())