File size: 1,330 Bytes
b51b7e3
fadc66a
b51b7e3
fadc66a
b51b7e3
 
0df2dd4
b51b7e3
fadc66a
e71b024
d65dc23
 
 
 
 
b51b7e3
b465f85
fadc66a
 
 
 
 
 
 
 
b51b7e3
 
b465f85
fadc66a
 
 
 
 
e19a951
 
 
 
 
fadc66a
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
from fastapi import FastAPI, HTTPException,APIRouter,Request
from pydantic import BaseModel
from fastapi.responses import HTMLResponse
from typing import List
from fastapi.staticfiles import StaticFiles
from starlette.responses import FileResponse 
from fastapi.middleware.cors import CORSMiddleware
import os
app = FastAPI()
origins = ["*"]

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
)
os.environ['SENTENCE_TRANSFORMERS_HOME'] = './.cache' ## For Docker 
app.mount("/files/", StaticFiles(directory='../code'), name="index")
class TextInput(BaseModel):
    InputText: str # python casing??????

def emotion_detection(str1: str) -> str:
    from transformers import pipeline
    pipe = pipeline(model="distilbert-base-uncased-finetuned-sst-2-english")
    expected=(pipe(str1))
    return expected[0].get('label')    
@app.get("/")
async def read_index():
    return FileResponse('app/index.html')
@app.post("/generate-emotion/")
async def detect_emotion(input_data: TextInput):
    text1 = input_data.InputText
    emotion= emotion_detection(text1)
    response={"Text Entered":text1,"emotion":emotion}
    return response
@app.get("/testing/")
async def testing_emotion(input_data):
    emotion= emotion_detection(input_data)
    response={"Text Entered":input_data,"emotion":emotion}
    return response