-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
30 lines (24 loc) · 1.02 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import uvicorn
from fastapi import FastAPI,Request,Form,UploadFile,File
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from app import make_prediction
templates=Jinja2Templates(directory="templates")
app=FastAPI()
app.mount("/static",StaticFiles(directory="Static"),name="static")
@app.get('/',response_class=HTMLResponse)
def home(request:Request):
context={'request':request}
return templates.TemplateResponse('index.html',context)
@app.post('/upload',response_class=HTMLResponse)
async def get_preds(request:Request,message:str=Form(...)):
pred=make_prediction(message)
list1=['toxic', 'severe_toxic', 'obscene', 'threat', 'insult', 'identity_hate']
out=dict(zip(list1,pred))
result = [category for category, flag in out.items() if flag == 1]
print(result)
context={'request':request,'msg':message,'output':result}
return templates.TemplateResponse('index.html',context)
if __name__=="__main__":
uvicorn.run(app)