| # 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): | |
| 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): | |
| # Usando nuestro placeholder o el real de `spaces` | |
| def wrapper(*args, **kwargs): | |
| return func(*args, **kwargs) | |
| return wrapper | |
| return decorator |