Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -271,27 +271,31 @@ def update_elo_rating(collection, updated_ratings, winner, loser, category):
|
|
271 |
|
272 |
def generate_leaderboard(collection):
|
273 |
rows = list(collection.find())
|
|
|
|
|
|
|
|
|
274 |
leaderboard_data = []
|
275 |
for row in rows:
|
276 |
bot_name = row['bot_name']
|
277 |
original_model = next(entry['original_model'] for entry in chatbots_data if entry['adapter'] == bot_name)
|
278 |
|
279 |
-
category_data = []
|
280 |
-
for category, data in row['categories'].items():
|
281 |
-
category_data.append(f"{data['elo_rating']}")
|
282 |
|
283 |
-
total_elo = sum(
|
284 |
-
total_games = sum(
|
285 |
avg_elo = total_elo / len(row['categories']) if len(row['categories']) > 0 else 0
|
286 |
|
287 |
-
leaderboard_data.append([original_model, avg_elo, total_games] + category_data)
|
288 |
|
289 |
-
|
290 |
-
columns = ['Chatbot', 'Avg ELO Score', 'Total Games Played'] + categories
|
291 |
|
292 |
leaderboard_data = pd.DataFrame(leaderboard_data, columns=columns)
|
293 |
leaderboard_data['Avg ELO Score'] = leaderboard_data['Avg ELO Score'].round().astype(int)
|
294 |
|
|
|
|
|
|
|
295 |
# Sort by average ELO score in descending order
|
296 |
leaderboard_data = leaderboard_data.sort_values('Avg ELO Score', ascending=False)
|
297 |
|
|
|
271 |
|
272 |
def generate_leaderboard(collection):
|
273 |
rows = list(collection.find())
|
274 |
+
categories = set()
|
275 |
+
for row in rows:
|
276 |
+
categories.update(row['categories'].keys())
|
277 |
+
|
278 |
leaderboard_data = []
|
279 |
for row in rows:
|
280 |
bot_name = row['bot_name']
|
281 |
original_model = next(entry['original_model'] for entry in chatbots_data if entry['adapter'] == bot_name)
|
282 |
|
283 |
+
category_data = {category: row['categories'].get(category, {}).get('elo_rating', '-') for category in categories}
|
|
|
|
|
284 |
|
285 |
+
total_elo = sum(data['elo_rating'] for data in row['categories'].values() if 'elo_rating' in data)
|
286 |
+
total_games = sum(data['games_played'] for data in row['categories'].values() if 'games_played' in data)
|
287 |
avg_elo = total_elo / len(row['categories']) if len(row['categories']) > 0 else 0
|
288 |
|
289 |
+
leaderboard_data.append([original_model, avg_elo, total_games] + [category_data[category] for category in categories])
|
290 |
|
291 |
+
columns = ['Chatbot', 'Avg ELO Score', 'Total Games Played'] + list(categories)
|
|
|
292 |
|
293 |
leaderboard_data = pd.DataFrame(leaderboard_data, columns=columns)
|
294 |
leaderboard_data['Avg ELO Score'] = leaderboard_data['Avg ELO Score'].round().astype(int)
|
295 |
|
296 |
+
# Replace '-' with empty cells
|
297 |
+
leaderboard_data = leaderboard_data.replace('-', '')
|
298 |
+
|
299 |
# Sort by average ELO score in descending order
|
300 |
leaderboard_data = leaderboard_data.sort_values('Avg ELO Score', ascending=False)
|
301 |
|