Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -134,24 +134,44 @@ def user_ask(state, chatbot1, chatbot2, textbox):
|
|
134 |
# Gradio interface setup
|
135 |
with gr.Blocks() as demo:
|
136 |
state = gr.State({})
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
# Gradio interface setup
|
135 |
with gr.Blocks() as demo:
|
136 |
state = gr.State({})
|
137 |
+
with gr.Tab("Chatbot Arena"):
|
138 |
+
with gr.Row():
|
139 |
+
with gr.Column():
|
140 |
+
chatbot1 = gr.Chatbot(label='Model A').style(height=600)
|
141 |
+
upvote_btn_a = gr.Button(value="π Upvote A",interactive=False)
|
142 |
+
|
143 |
+
with gr.Column():
|
144 |
+
chatbot2 = gr.Chatbot(label='Model B').style(height=600)
|
145 |
+
upvote_btn_b = gr.Button(value="π Upvote B",interactive=False)
|
146 |
+
|
147 |
+
textbox = gr.Textbox(placeholder="Enter your prompt (up to 200 characters)", max_chars=200)
|
148 |
+
with gr.Row():
|
149 |
+
submit_btn = gr.Button(value="Send")
|
150 |
+
reset_btn = gr.Button(value="Reset")
|
151 |
+
reset_btn.click(clear_chat, inputs=[state], outputs=[state, chatbot1, chatbot2, upvote_btn_a, upvote_btn_b])
|
152 |
+
textbox.submit(user_ask, inputs=[state, chatbot1, chatbot2, textbox], outputs=[state, chatbot1, chatbot2, textbox,upvote_btn_a,upvote_btn_b])
|
153 |
+
submit_btn.click(user_ask, inputs=[state, chatbot1, chatbot2, textbox], outputs=[state, chatbot1, chatbot2, textbox,upvote_btn_a,upvote_btn_b])
|
154 |
+
upvote_btn_a.click(vote_up_model, inputs=[state, chatbot1], outputs=[chatbot1,upvote_btn_a,upvote_btn_b])
|
155 |
+
upvote_btn_b.click(vote_down_model, inputs=[state, chatbot2], outputs=[chatbot2,upvote_btn_a,upvote_btn_b])
|
156 |
+
with gr.Tab("Leaderboard"):
|
157 |
+
leaderboard = gr.Dataframe()
|
158 |
+
refresh_btn = gr.Button("Refresh Leaderboard")
|
159 |
+
|
160 |
+
# Function to refresh leaderboard
|
161 |
+
def refresh_leaderboard():
|
162 |
+
return generate_leaderboard()
|
163 |
+
|
164 |
+
# Event handler for the refresh button
|
165 |
+
refresh_btn.click(refresh_leaderboard, inputs=[], outputs=[leaderboard])
|
166 |
+
|
167 |
+
# Launch the Gradio interface
|
168 |
+
|
169 |
+
demo.launch()
|
170 |
+
import pandas as pd
|
171 |
+
|
172 |
+
# Function to generate leaderboard data
|
173 |
+
def generate_leaderboard():
|
174 |
+
elo_ratings = read_elo_ratings() # Assuming this function returns a dict of {bot_name: elo_score}
|
175 |
+
leaderboard_data = pd.DataFrame(list(elo_ratings.items()), columns=['Chatbot', 'ELO Score'])
|
176 |
+
leaderboard_data = leaderboard_data.sort_values('ELO Score', ascending=False)
|
177 |
+
return leaderboard_data
|