BioRAG / app.py
C2MV's picture
Upload 3 files
de3a711 verified
raw
history blame
1.95 kB
# app.py
from UI import create_interface
import interface as app_interface_module # Necesitamos la funci贸n process_and_plot
import sys # Para manipulaci贸n de path si es necesario
from pathlib import Path
# --- Intento de Neutralizar el decorador problem谩tico para ejecuci贸n local ---
# Esto es un hack para evitar el error de 'No @spaces.GPU' si Gradio lo busca.
try:
# Intentar importar el m贸dulo 'decorators' de tu proyecto
# Asume que app.py est谩 en la ra铆z del proyecto y decorators.py tambi茅n
current_dir = Path(__file__).parent
if str(current_dir) not in sys.path:
sys.path.insert(0, str(current_dir))
import decorators
class _GPUNeutralizerLocal:
def __init__(self, *args, **kwargs): pass
def __call__(self, func): return func
# Sobrescribir si existen para que no causen error
if hasattr(decorators, 'GPU'):
decorators.GPU = _GPUNeutralizerLocal
print("INFO (app.py): 'decorators.GPU' neutralizado para ejecuci贸n local.")
if hasattr(decorators, 'gpu_decorator'):
decorators.gpu_decorator = lambda duration=0: lambda func: func
print("INFO (app.py): 'decorators.gpu_decorator' neutralizado para ejecuci贸n local.")
except ImportError:
print("ADVERTENCIA (app.py): M贸dulo 'decorators' no encontrado, no se pudo neutralizar GPU. Puede que no sea necesario.")
except Exception as e_dec:
print(f"ADVERTENCIA (app.py): Error al intentar neutralizar decoradores: {e_dec}")
# --- Fin de la neutralizaci贸n ---
def main():
# Pasa la funci贸n de procesamiento real (process_and_plot) a create_interface
# app_interface_module.process_and_plot es la funci贸n que queremos que el bot贸n llame.
demo_instance = create_interface(process_function_for_button=app_interface_module.process_and_plot)
print("Lanzando interfaz Gradio localmente...")
demo_instance.launch()
if __name__ == "__main__":
main()