mariasaif20's picture
Update aap.py
ba5b501 verified
from fastapi import FastAPI
import nest_asyncio
from pyngrok import ngrok
import uvicorn
import requests
import torch
# from transformers import DistilBertTokenizer, DistilBertForSequenceClassification
# tokenizer = DistilBertTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
# model = DistilBertForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
import torch
from transformers import DistilBertTokenizer, DistilBertForSequenceClassification
tokenizer = DistilBertTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
model = DistilBertForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
inputs = tokenizer("Its very hot outside", return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
predicted_class_id = logits.argmax().item()
model.config.id2label[predicted_class_id]
app = FastAPI()
url = "https://sentiment-analysis9.p.rapidapi.com/sentiment"
#user_input = input("Please enter a text for sentiment analysis: ")
def call_sentiment_api(user_input):
payload = [
{
"id": "1",
"language": "en",
"text":user_input
}
]
headers = {
"content-type": "application/json",
"Accept": "application/json",
"X-RapidAPI-Key": "5cf8fcaf61msh613f010a34f3576p1953e5jsn110a1e6c667d",
"X-RapidAPI-Host": "sentiment-analysis9.p.rapidapi.com"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
return response.json()
# def sentiment_model_hf(user_input):
# inputs = tokenizer(user_input, return_tensors="pt")
# with torch.no_grad():
# logits = model(**inputs).logits
# predicted_class_id = logits.argmax().item()
# return model.config.id2label[predicted_class_id]
@app.get('/sentiment_ra/{user_input}')
async def sentiment(user_input):
return call_sentiment_api(user_input)
# @app.get('/sentiment_hf/{user_input}')
# async def sentiment_hf(user_input):
# return sentiment_model_hf(user_input)
@app.get('/a')
async def abc():
return "Hello Atom Camp -- Our first Endpoint"
@app.get('/2nd')
async def atom():
return "its our 2nd endpoint"
@app.get('/{multiply}')
async def atom(multiply):
return multiply*10
@app.get('/')
async def html():
return "Welcome to Our FastAPI Endpoints"
ngrok_tunnel = ngrok.connect(8000)
print('Public URL:', ngrok_tunnel.public_url)
nest_asyncio.apply()
uvicorn.run(app, port=8000)