Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -40,20 +40,32 @@ def format_ragas_results(ragas_results):
|
|
40 |
]
|
41 |
|
42 |
def plot_radar_chart(ragas_results):
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
44 |
labels = list(scores_dict.keys())
|
45 |
values = list(scores_dict.values())
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
angles
|
51 |
-
|
52 |
-
ax.
|
53 |
-
|
54 |
-
ax.
|
55 |
-
ax.
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
chart_path = "radar_chart.png"
|
59 |
fig.savefig(chart_path)
|
|
|
40 |
]
|
41 |
|
42 |
def plot_radar_chart(ragas_results):
|
43 |
+
# Extract first sample if multiple scores
|
44 |
+
if isinstance(ragas_results.scores, list):
|
45 |
+
scores_dict = ragas_results.scores[0] # first sample
|
46 |
+
else:
|
47 |
+
scores_dict = ragas_results.scores
|
48 |
+
|
49 |
labels = list(scores_dict.keys())
|
50 |
values = list(scores_dict.values())
|
51 |
+
|
52 |
+
# Close the loop for radar chart
|
53 |
+
values += values[:1]
|
54 |
+
angles = np.linspace(0, 2 * np.pi, len(labels), endpoint=False).tolist()
|
55 |
+
angles += angles[:1]
|
56 |
+
|
57 |
+
fig, ax = plt.subplots(figsize=(6,6), subplot_kw=dict(polar=True))
|
58 |
+
|
59 |
+
ax.fill(angles, values, color='skyblue', alpha=0.4)
|
60 |
+
ax.plot(angles, values, color='blue', linewidth=2)
|
61 |
+
|
62 |
+
ax.set_yticks([0.2, 0.4, 0.6, 0.8, 1.0])
|
63 |
+
ax.set_yticklabels(['0.2', '0.4', '0.6', '0.8', '1.0'])
|
64 |
+
|
65 |
+
ax.set_xticks(angles[:-1])
|
66 |
+
ax.set_xticklabels(labels)
|
67 |
+
|
68 |
+
ax.set_title('RAGAS Metrics Radar Chart', size=14, y=1.05)
|
69 |
|
70 |
chart_path = "radar_chart.png"
|
71 |
fig.savefig(chart_path)
|