@@ -18,14 +18,53 @@ def _extract_instruction_text(turn: dict) -> str:
1818 return " " .join (block ["text" ] for block in content if block .get ("type" ) == "text" )
1919
2020
21- KNOWN_ARENAS = ["LMArena-100k" , "LMArena-140k" , "ComparIA" ]
21+ KNOWN_ARENAS = ["LMArena-100k" , "LMArena-55k" , "LMArena- 140k" , "ComparIA" ]
2222
2323
2424def _load_arena_dataframe (
2525 arena : str , comparia_revision : str | None = None
2626) -> pd .DataFrame :
2727 assert arena in KNOWN_ARENAS
28- if "LMArena" in arena :
28+ if arena == "LMArena-55k" :
29+ path = snapshot_download (
30+ repo_id = "lmarena-ai/arena-human-preference-55k" ,
31+ repo_type = "dataset" ,
32+ allow_patterns = "*.csv" ,
33+ force_download = False ,
34+ )
35+ df = pd .read_csv (Path (path ) / "train.csv" )
36+
37+ def _winner_55k (row ) -> str | None :
38+ if row ["winner_tie" ]:
39+ return "tie"
40+ if row ["winner_model_a" ]:
41+ return "model_a"
42+ if row ["winner_model_b" ]:
43+ return "model_b"
44+ return None
45+
46+ df ["winner" ] = df .apply (_winner_55k , axis = 1 )
47+ df = df [df ["winner" ].notna ()].copy ()
48+
49+ df ["conversation_a" ] = df .apply (
50+ lambda r : [
51+ {"role" : "user" , "content" : str (r ["prompt" ])},
52+ {"role" : "assistant" , "content" : str (r ["response_a" ])},
53+ ],
54+ axis = 1 ,
55+ )
56+ df ["conversation_b" ] = df .apply (
57+ lambda r : [
58+ {"role" : "user" , "content" : str (r ["prompt" ])},
59+ {"role" : "assistant" , "content" : str (r ["response_b" ])},
60+ ],
61+ axis = 1 ,
62+ )
63+ df ["question_id" ] = df ["id" ]
64+ df ["tstamp" ] = 0
65+ df ["benchmark" ] = "LMArena-55k"
66+
67+ elif "LMArena" in arena :
2968 size = arena .split ("-" )[1 ] # "100k" or "140k"
3069 path = snapshot_download (
3170 repo_id = f"lmarena-ai/arena-human-preference-{ size } " ,
@@ -139,7 +178,7 @@ def load_arena_dataframe(
139178 if arena is None :
140179 arenas = KNOWN_ARENAS
141180 elif arena == "LMArena" :
142- arenas = ["LMArena-100k" , "LMArena-140k" ]
181+ arenas = ["LMArena-100k" , "LMArena-55k" , "LMArena- 140k" ]
143182 else :
144183 return _load_arena_dataframe (arena , comparia_revision )
145184 return pd .concat (
0 commit comments