BioRAG / decorators.py
C2MV's picture
Upload 8 files
d3d8124 verified
raw
history blame
1.38 kB
# decorators.py
from functools import wraps
# La importaci贸n original 'from spaces import GPU' es espec铆fica de Hugging Face Spaces.
# Para un uso general o con Modal, este decorador necesitar铆a ser adaptado o
# la gesti贸n de GPU se har铆a directamente a trav茅s de la configuraci贸n de la funci贸n Modal.
# Por ahora, mantenemos la estructura, pero ten en cuenta que @GPU no funcionar谩
# fuera del entorno de HF Spaces tal como est谩. Modal tiene su propia forma de asignar GPUs.
class GPU: # Placeholder para simular la estructura si no se ejecuta en HF Spaces
def __init__(self, duration=100):
self.duration = duration
def __call__(self, func):
@wraps(func)
def wrapper(*args, **kwargs):
# print(f"Simulando ejecuci贸n con GPU (duraci贸n: {self.duration}s) para: {func.__name__}")
return func(*args, **kwargs)
return wrapper
def gpu_decorator(duration=100):
"""
Decorador personalizado que simula el uso de GPU.
En un entorno de Hugging Face Spaces con GPU asignada,
el decorador `spaces.GPU` real se encargar铆a de la gesti贸n.
"""
def decorator(func):
@GPU(duration=duration) # Usando nuestro placeholder o el real de `spaces`
@wraps(func)
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper
return decorator