Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from typing import Dict, Any | |
| from transformers import pipeline | |
| from src.constants import SETTINGS, COLORS | |
| def load_models() -> Dict[str, pipeline]: | |
| return { | |
| model_name: pipeline(task=SETTINGS.task, model=model_name) | |
| for model_name in SETTINGS.models | |
| } | |
| def colorize_sentiment(label, score) -> str: | |
| color = COLORS.get(label, COLORS['DEFAULT']) | |
| return f""" | |
| <div style=" | |
| display: inline-block; | |
| background-color: {color}; | |
| color: white; | |
| padding: 0.2em 0.5em; | |
| border-radius: 0.3em; | |
| margin: 0.1em; | |
| font-size: 0.9em; | |
| position: relative; | |
| ">{label}</div> | |
| <div style=" | |
| font-size: 1em; | |
| color: {color}; | |
| margin-left: 0.5em | |
| ">{score:.2f}</div> | |
| """ | |
| def print_results(result: Dict[str, Any]): | |
| label = result['label'] | |
| score = result['score'] | |
| st.markdown(f""" | |
| <div style="display: flex; align-items: center; margin-bottom: 1em;"> | |
| <span style="font-size: 1.1em; margin-right: 1em;">Overall sentiment:</span> | |
| {colorize_sentiment(label, score)} | |
| </div> | |
| """, unsafe_allow_html=True) |