Spaces:
Runtime error
Runtime error
debug api
Browse files
api.py
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import uvicorn
|
2 |
+
from fastapi import FastAPI, Form, Request
|
3 |
+
from fastapi.staticfiles import StaticFiles
|
4 |
+
from fastapi.templating import Jinja2Templates
|
5 |
+
|
6 |
+
from inference import inferenceAPI
|
7 |
+
|
8 |
+
|
9 |
+
# ------ MODELE --------------------------------------------------------------
|
10 |
+
# appel de la fonction inference, adaptee pour une entree txt
|
11 |
+
def summarize(text: str):
|
12 |
+
return " ".join(inferenceAPI(text))
|
13 |
+
|
14 |
+
|
15 |
+
# ----------------------------------------------------------------------------------
|
16 |
+
|
17 |
+
|
18 |
+
# -------- API ---------------------------------------------------------------------
|
19 |
+
app = FastAPI()
|
20 |
+
|
21 |
+
# static files pour envoi du css au navigateur
|
22 |
+
templates = Jinja2Templates(directory="templates")
|
23 |
+
app.mount("/", StaticFiles(directory="templates", html=True), name="templates")
|
24 |
+
|
25 |
+
|
26 |
+
@app.get("/")
|
27 |
+
async def index(request: Request):
|
28 |
+
return templates.TemplateResponse("index.html.jinja", {"request": request})
|
29 |
+
|
30 |
+
|
31 |
+
# retourner le texte, les predictions et message d'erreur si formulaire envoye vide
|
32 |
+
@app.post("/")
|
33 |
+
async def prediction(request: Request, text: str = Form(None)):
|
34 |
+
if not text:
|
35 |
+
error = "Merci de saisir votre texte."
|
36 |
+
return templates.TemplateResponse(
|
37 |
+
"index.html.jinja", {"request": request, "text": error}
|
38 |
+
)
|
39 |
+
else:
|
40 |
+
summary = summarize(text)
|
41 |
+
return templates.TemplateResponse(
|
42 |
+
"index.html.jinja", {"request": request, "text": text, "summary": summary}
|
43 |
+
)
|
44 |
+
|
45 |
+
|
46 |
+
# ------------------------------------------------------------------------------------
|
47 |
+
|
48 |
+
|
49 |
+
# lancer le serveur et le recharger a chaque modification sauvegardee
|
50 |
+
# if __name__ == "__main__":
|
51 |
+
# uvicorn.run("api:app", port=8000, reload=True)
|