EveSa commited on
Commit
bde4352
1 Parent(s): 53d6ea5
Files changed (1) hide show
  1. api.py +51 -0
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)