Lukeetah commited on
Commit
7e984a3
·
verified ·
1 Parent(s): b0bc1c3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -29
app.py CHANGED
@@ -4,26 +4,16 @@ from fastapi.responses import FileResponse
4
  from fastapi.staticfiles import StaticFiles
5
  import os
6
 
7
- # --- Configuración de la App ---
8
- # Creamos una instancia de FastAPI para tener control total
9
  app = FastAPI()
10
-
11
- # Montamos el directorio 'static' para servir CSS y JS
12
- # Esto permite que nuestro HTML pueda cargar los archivos main.js y style.css
13
  app.mount("/static", StaticFiles(directory="static"), name="static")
14
-
15
- # Definimos el directorio de las plantillas HTML
16
  templates_dir = "templates"
17
 
18
- # --- Ruta Principal ---
19
- # Esta es la ruta raíz. Cuando un usuario visita el Space de Hugging Face,
20
- # FastAPI interceptará la petición y servirá nuestro archivo index.html.
21
  @app.get("/")
22
  async def read_index(request: Request):
23
  """
24
  Sirve el archivo principal de la aplicación, index.html.
25
- Esta es la única puerta de entrada. Toda la lógica pesada se delega
26
- al cliente (navegador del usuario) a través del JavaScript cargado.
27
  """
28
  path = os.path.join(templates_dir, "index.html")
29
  if os.path.exists(path):
@@ -31,24 +21,26 @@ async def read_index(request: Request):
31
  return {"error": "index.html not found"}
32
 
33
  # --- Montaje de la App en Gradio ---
34
- # Usamos gr.Blocks como un contenedor para montar nuestra app de FastAPI.
35
- # Esto nos permite desplegarla fácilmente en Hugging Face Spaces.
36
- # La interfaz de Gradio no mostrará nada, simplemente servirá como host.
37
- custom_html = """
38
- <div style="text-align: center; padding: 20px;">
39
- <h1>Synapse AI Core</h1>
40
- <p>Si estás viendo esto, significa que el backend está funcionando. La aplicación principal se carga directamente en la ruta raíz.</p>
41
- <p>Accede a la aplicación a través del enlace directo proporcionado por Hugging Face Spaces (sin /?__theme=light al final).</p>
42
- </div>
43
- """
44
  with gr.Blocks(title="Synapse AI") as demo:
45
- gr.HTML(custom_html)
 
 
 
 
 
 
46
 
47
- # Montamos la app de FastAPI dentro de la app de Gradio
 
48
  app = gr.mount_gradio_app(app, demo, path="/")
49
 
50
- # Si se ejecuta localmente, esta línea iniciaría el servidor.
51
- # En Hugging Face Spaces, el sistema de despliegue se encarga de esto.
52
- # if __name__ == "__main__":
53
- # import uvicorn
54
- # uvicorn.run(app, host="0.0.0.0", port=7860)
 
 
 
 
4
  from fastapi.staticfiles import StaticFiles
5
  import os
6
 
7
+ # --- Configuración de la App (sin cambios) ---
 
8
  app = FastAPI()
 
 
 
9
  app.mount("/static", StaticFiles(directory="static"), name="static")
 
 
10
  templates_dir = "templates"
11
 
12
+ # --- Ruta Principal (sin cambios) ---
 
 
13
  @app.get("/")
14
  async def read_index(request: Request):
15
  """
16
  Sirve el archivo principal de la aplicación, index.html.
 
 
17
  """
18
  path = os.path.join(templates_dir, "index.html")
19
  if os.path.exists(path):
 
21
  return {"error": "index.html not found"}
22
 
23
  # --- Montaje de la App en Gradio ---
24
+ # Creamos el bloque de Gradio que servirá de contenedor.
25
+ # La interfaz visual de Gradio no es importante aquí, solo su capacidad de servidor.
 
 
 
 
 
 
 
 
26
  with gr.Blocks(title="Synapse AI") as demo:
27
+ gr.HTML("""
28
+ <div style="text-align: center; padding: 20px; color: #888;">
29
+ <h1>Synapse AI Backend</h1>
30
+ <p>El servidor está activo. La aplicación principal se sirve directamente.</p>
31
+ <p>Cargando la conciencia colectiva...</p>
32
+ </div>
33
+ """)
34
 
35
+ # Montamos la app de FastAPI dentro de la app de Gradio.
36
+ # Esta es la parte que permite a Gradio manejar las rutas de FastAPI.
37
  app = gr.mount_gradio_app(app, demo, path="/")
38
 
39
+ # ===================================================================
40
+ # LA CORRECCIÓN CLAVE ESTÁ AQUÍ
41
+ # ===================================================================
42
+ # Le decimos explícitamente a Gradio que inicie el servidor web y se quede
43
+ # escuchando. Esta es la línea que faltaba. Sin ella, el script
44
+ # simplemente termina su ejecución.
45
+ if __name__ == "__main__":
46
+ demo.launch(server_name="0.0.0.0")