SilvioLima commited on
Commit
c98da6a
·
1 Parent(s): d7c4df2

Back e Front

Browse files
Files changed (1) hide show
  1. app.py +26 -3
app.py CHANGED
@@ -1,10 +1,33 @@
1
  import gradio as gr
2
  import requests
 
 
 
3
 
4
  # URL do nosso backend FastAPI.
5
  # Usamos 127.0.0.1 (localhost) porque ambos os processos rodarão na mesma máquina/container.
6
  BACKEND_URL = "http://127.0.0.1:8000"
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  # --- Frontend Gradio ---
9
  def get_root_message():
10
  """Chama o endpoint GET / via HTTP"""
@@ -108,6 +131,6 @@ with gr.Blocks(title="FastAPI + Gradio Integrado") as demo:
108
  gr.Markdown("---")
109
  gr.Markdown("### 🔧 Desenvolvido com Gradio (Frontend) + FastAPI (Backend)")
110
 
111
- # --- Para funcionar no Hugging Face Spaces ---
112
- if __name__ == "__main__":
113
- demo.launch()
 
1
  import gradio as gr
2
  import requests
3
+ from fastapi import FastAPI
4
+ from pydantic import BaseModel
5
+ from typing import Optional
6
 
7
  # URL do nosso backend FastAPI.
8
  # Usamos 127.0.0.1 (localhost) porque ambos os processos rodarão na mesma máquina/container.
9
  BACKEND_URL = "http://127.0.0.1:8000"
10
 
11
+ # --- Backend FastAPI ---
12
+ app = FastAPI()
13
+
14
+ class Item(BaseModel):
15
+ name: str
16
+ description: Optional[str] = None
17
+ price: float
18
+
19
+ @app.get("/")
20
+ def read_root():
21
+ return {"message": "Olá do Backend FastAPI!"}
22
+
23
+ @app.get("/hello/{name}")
24
+ def read_hello(name: str):
25
+ return {"message": f"Olá, {name}! Bem-vindo(a)!"}
26
+
27
+ @app.post("/items/")
28
+ def create_api_item(item: Item):
29
+ return item
30
+
31
  # --- Frontend Gradio ---
32
  def get_root_message():
33
  """Chama o endpoint GET / via HTTP"""
 
131
  gr.Markdown("---")
132
  gr.Markdown("### 🔧 Desenvolvido com Gradio (Frontend) + FastAPI (Backend)")
133
 
134
+ # Monta a interface Gradio na aplicação FastAPI.
135
+ # A plataforma do Hugging Face Spaces detectará o objeto 'app' e o executará com um servidor ASGI (Uvicorn).
136
+ app = gr.mount_gradio_app(app, demo, path="/")