Otis / app.py
Titeiiko's picture
Update app.py
14131be
raw
history blame
1.21 kB
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse, PlainTextResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
import uvicorn
from transformers import pipeline
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
templates = Jinja2Templates(directory="")
@app.get("/", response_class=HTMLResponse)
async def read_item(request: Request):
return templates.TemplateResponse("index.html", context={'request': request})
@app.get("/{content}", response_class=PlainTextResponse)
async def read_item(request: Request, content: str):
return analyze_output(content)
@app.post("/{content}", response_class=PlainTextResponse)
async def read_item(request: Request, content: str):
return analyze_output(content)
def analyze_output(input: str, pipe = pipeline("text-classification", model="Titeiiko/OTIS-Official-Spam-Model")):
x = pipe(input)[0]
if x["label"] == "LABEL_0":
return str({"type":"Not Spam", "probability":x["score"]})
else:
return str({"type":"Spam", "probability":x["score"]})
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)