rwitz commited on
Commit
e6d41de
·
verified ·
1 Parent(s): c2f81d9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -8
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(category['elo_rating'] for category in row['categories'].values())
284
- total_games = sum(category['games_played'] for category in row['categories'].values())
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
- categories = list(row['categories'].keys())
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