PersonalityTest / app.py
Rahul-8853's picture
Create app.py
916d6d2 verified
import streamlit as st
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
# Load the model and tokenizer from Hugging Face
model_name = "KevSun/Personality_LM"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# Streamlit app
st.title("Personality Prediction App")
st.write("Enter your text below to predict personality traits:")
# Input text from user
user_input = st.text_area("Your text here:")
if st.button("Predict"):
if user_input:
# Tokenize input text
inputs = tokenizer(user_input, return_tensors="pt")
# Get predictions from the model
with torch.no_grad():
outputs = model(**inputs)
# Extract the predictions
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
predictions = predictions[0].tolist()
# Display the predictions
labels = ["Extraversion", "Agreeableness", "Conscientiousness", "Neuroticism", "Openness"]
for label, score in zip(labels, predictions):
st.write(f"{label}: {score:.4f}")
else:
st.write("Please enter some text to get predictions.")