-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
52 lines (38 loc) · 1.16 KB
/
app.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from fastapi import FastAPI,Request
import uvicorn
import sys
import os
from fastapi.templating import Jinja2Templates
from starlette.responses import RedirectResponse
from fastapi.responses import Response
from textSummarizer.pipeline.prediction import PredictionPipeline
from fastapi.responses import JSONResponse
text:str = "What is Text Summarization?"
app = FastAPI()
@app.get("/", tags=["authentication"])
async def index():
return RedirectResponse(url="/docs")
@app.get("/train")
async def training():
try:
os.system("python main.py")
return Response("Training successful !!")
except Exception as e:
return Response(f"Error Occurred! {e}")
#for summary
@app.post("/predict")
async def predict_route(text):
try:
obj = PredictionPipeline()
text = obj.predict(text)
return text
except Exception as e:
raise e
@app.exception_handler(ValueError)
async def value_error_exception_handler(request: Request, exc: ValueError):
return JSONResponse(
status_code=400,
content={"message": str(exc)},
)
if __name__=="__main__":
uvicorn.run(app, host="0.0.0.0", port=8080)