ed-donner commited on
Commit
d10df37
·
1 Parent(s): 683d749

Updated readme; tidied leaderboard

Browse files
Files changed (3) hide show
  1. README.md +3 -1
  2. arena/c4.py +18 -9
  3. requirements.txt +2 -1
README.md CHANGED
@@ -21,8 +21,8 @@ short_description: Arena for playing Four-in-a-row between LLMs
21
  It has been great fun making this Arena and watching LLMs duke it out!
22
 
23
  Quick links:
 
24
  - The [GitHub repo](https://github.com/ed-donner/connect) for the code
25
- - The [HuggingFace Spaces](https://huggingface.co/spaces/ed-donner/connect) where it's running
26
  - My [LinkedIn](https://www.linkedin.com/in/eddonner/) - I love connecting!
27
 
28
  If you'd like to learn more about this:
@@ -37,6 +37,8 @@ If you'd like to learn more about this:
37
  4. Activate your environment with either `venv\Scripts\activate` on Windows, or `source venv/bin/activate` on Mac/Linux
38
  5. Then run `pip install -r requirements.txt` to install the packages
39
 
 
 
40
  ## Setting up your API keys
41
 
42
  Please create a file with the exact name `.env` in the project root directory (connect).
 
21
  It has been great fun making this Arena and watching LLMs duke it out!
22
 
23
  Quick links:
24
+ - The [Live Arena](https://edwarddonner.com/connect-four/) courtesy of amazing HuggingFace Spaces
25
  - The [GitHub repo](https://github.com/ed-donner/connect) for the code
 
26
  - My [LinkedIn](https://www.linkedin.com/in/eddonner/) - I love connecting!
27
 
28
  If you'd like to learn more about this:
 
37
  4. Activate your environment with either `venv\Scripts\activate` on Windows, or `source venv/bin/activate` on Mac/Linux
38
  5. Then run `pip install -r requirements.txt` to install the packages
39
 
40
+ If you wish to play with the prototype, run `jupyter lab` to launch the lab then look at the notebook **prototype.ipynb**.
41
+
42
  ## Setting up your API keys
43
 
44
  Please create a file with the exact name `.env` in the project root directory (connect).
arena/c4.py CHANGED
@@ -2,6 +2,7 @@ from arena.game import Game
2
  from arena.board import RED, YELLOW
3
  from arena.llm import LLM
4
  import gradio as gr
 
5
 
6
 
7
  css = """
@@ -35,17 +36,25 @@ def message_html(game) -> str:
35
 
36
  def format_records_for_table(games):
37
  """
38
- Turn the results objects into a list of lists for the Gradio Dataframe
39
  """
40
- return [
41
  [
42
- game.when,
43
- game.red_player,
44
- game.yellow_player,
45
- "Red" if game.red_won else "Yellow" if game.yellow_won else "Draw",
46
- ]
47
- for game in reversed(games)
48
- ]
 
 
 
 
 
 
 
 
49
 
50
 
51
  def format_ratings_for_table(ratings):
 
2
  from arena.board import RED, YELLOW
3
  from arena.llm import LLM
4
  import gradio as gr
5
+ import pandas as pd
6
 
7
 
8
  css = """
 
36
 
37
  def format_records_for_table(games):
38
  """
39
+ Turn the results objects into a pandas DataFrame for the Gradio Dataframe
40
  """
41
+ df = pd.DataFrame(
42
  [
43
+ [
44
+ game.when,
45
+ game.red_player,
46
+ game.yellow_player,
47
+ "Red" if game.red_won else "Yellow" if game.yellow_won else "Draw",
48
+ ]
49
+ for game in reversed(games)
50
+ ],
51
+ columns=["When", "Red Player", "Yellow Player", "Winner"],
52
+ )
53
+
54
+ # Remove microseconds while preserving datetime format
55
+ df["When"] = pd.to_datetime(df["When"]).dt.floor("s")
56
+
57
+ return df
58
 
59
 
60
  def format_ratings_for_table(ratings):
requirements.txt CHANGED
@@ -8,4 +8,5 @@ google.generativeai
8
  anthropic
9
  groq
10
  black
11
- pymongo
 
 
8
  anthropic
9
  groq
10
  black
11
+ pymongo
12
+ pandas