test1 / app.py
mmerlange's picture
Update app.py
02a7ae7
import streamlit as st
import requests
import os
SECRET_TOKEN = os.getenv("SECRET_TOKEN")
st.title("How do you feel ?")
API_URL = "https://api-inference.huggingface.co/models/lxyuan/distilbert-base-multilingual-cased-sentiments-student"
headers = {"Authorization": "Bearer "+SECRET_TOKEN}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
def analyze_sentiment_Transformer(text):
# Perform sentiment analysis
results = query(text)
first_dict = results[0]
first_label = first_dict[0]
sentiment = first_label['label']
score = first_label['score']
return {
"sentiment":sentiment,
"score":score
}
if "messages" not in st.session_state:
st.session_state.messages = []
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
if prompt := st.chat_input("Tell me how you feel, whatever language"):
st.session_state.messages.append({"role": "user", "content": prompt})
with st.chat_message("user"):
st.markdown(prompt)
with st.chat_message("assistant"):
response = analyze_sentiment_Transformer(prompt)
sentiment = response['sentiment']
score = response['score']
if(sentiment == "positive"):
st.balloons()
fullresponse = f'happy to know you feel good with a score of '+str(score)
elif (sentiment == "negative"):
fullresponse = f'sorry to know you feel bad with a score of '+str(score)
st.snow()
else:
fullresponse = f'Ok you feel neutral, hoping the best '+str(score)
st.markdown(fullresponse)
st.session_state.messages.append({"role": "assistant", "content": response})