github-actions[bot]
Deploy from GitHub Actions (commit: 8b247ffacd77c0672965b8378f1d52a7dcd187ae)
9366995
| from typing import Dict, List | |
| import streamlit as st | |
| def create_radar_chart(scores: Dict[str, float], title: str): | |
| import plotly.graph_objects as go | |
| categories = list(scores.keys()) | |
| values = list(scores.values()) | |
| fig = go.Figure() | |
| fig.add_trace(go.Scatterpolar(r=values, theta=categories, fill='toself', name=title, line_color='blue')) | |
| fig.update_layout(polar=dict(radialaxis=dict(visible=True, range=[0, 2])), showlegend=True, title=title, font_size=12) | |
| return fig | |
| def display_utterance_results(results: List[Dict]): | |
| st.subheader("Utterance-Level Results") | |
| for i, result in enumerate(results): | |
| with st.expander(f"Utterance {i+1}: {result['speaker']}"): | |
| st.write(f"**Text:** {result['text']}") | |
| # Collect all scores | |
| all_scores = {} | |
| # OpenAI scores | |
| if result.get('openai_scores'): | |
| all_scores['OpenAI'] = result['openai_scores'] | |
| # Empathy scores | |
| empathy_scores = result.get('empathy_scores') or result.get('huggingface_scores') | |
| if empathy_scores: | |
| all_scores['Empathy'] = empathy_scores | |
| # Talk Type scores | |
| if result.get('talk_type_scores'): | |
| all_scores['Talk Type'] = result['talk_type_scores'] | |
| # Display scores in columns | |
| if all_scores: | |
| cols = st.columns(len(all_scores)) | |
| for idx, (eval_name, scores) in enumerate(all_scores.items()): | |
| with cols[idx]: | |
| st.write(f"**{eval_name} Scores:**") | |
| for metric, score in scores.items(): | |
| st.metric(metric.replace('_', ' ').title(), f"{float(score):.2f}/2") | |
| else: | |
| st.write("No scores available") | |