Spaces:
Sleeping
Sleeping
| # app.py | |
| import gradio as gr | |
| import joblib | |
| import numpy as np | |
| from feature_extraction.pipeline import text_to_features | |
| # Load pretrained Random Forest model for Openness | |
| model = joblib.load("models/openness_rf.pkl") | |
| def predict_openness(text): | |
| try: | |
| vec = text_to_features(text) # shape: (1, dim) | |
| pred = model.predict(vec)[0] # already "low", "medium", or "high" | |
| return f"Predicted Openness: **{pred.upper()}**" | |
| except Exception as e: | |
| return f"Error: {str(e)}" | |
| # Gradio UI | |
| demo = gr.Interface( | |
| fn=predict_openness, | |
| inputs=gr.Textbox(lines=6, placeholder="Enter your thoughts here..."), | |
| outputs=gr.Markdown(), | |
| title="Big Five Personality Prediction", | |
| description="This model predicts **Openness** based on your text using BERT + LIWC features.", | |
| allow_flagging="never" | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() |