Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -266,7 +266,9 @@ def chat_with_models(model_alias, models, conversation_state, timeout=TIMEOUT):
|
|
| 266 |
)
|
| 267 |
|
| 268 |
# Format the complete conversation history with different colors
|
| 269 |
-
formatted_history = format_conversation_history(
|
|
|
|
|
|
|
| 270 |
|
| 271 |
return formatted_history
|
| 272 |
|
|
@@ -294,7 +296,7 @@ def format_conversation_history(conversation_history):
|
|
| 294 |
return formatted_text
|
| 295 |
|
| 296 |
|
| 297 |
-
def save_content_to_hf(feedback_data, repo_name):
|
| 298 |
"""
|
| 299 |
Save feedback content to Hugging Face repository organized by quarter.
|
| 300 |
"""
|
|
@@ -304,14 +306,8 @@ def save_content_to_hf(feedback_data, repo_name):
|
|
| 304 |
# Create a binary file-like object
|
| 305 |
file_like_object = io.BytesIO(json_content)
|
| 306 |
|
| 307 |
-
# Get the current year and quarter
|
| 308 |
-
now = datetime.now()
|
| 309 |
-
quarter = (now.month - 1) // 3 + 1
|
| 310 |
-
year_quarter = f"{now.year}_Q{quarter}"
|
| 311 |
-
timestamp = now.strftime("%Y%m%d_%H%M%S")
|
| 312 |
-
|
| 313 |
# Define the path in the repository
|
| 314 |
-
filename = f"{
|
| 315 |
|
| 316 |
# Ensure the user is authenticated with HF
|
| 317 |
token = HfFolder.get_token()
|
|
@@ -779,11 +775,13 @@ with gr.Blocks() as app:
|
|
| 779 |
|
| 780 |
# Create a copy to avoid modifying the original
|
| 781 |
conversations = models.copy()
|
| 782 |
-
conversations.update(
|
| 783 |
-
|
| 784 |
-
|
| 785 |
-
|
| 786 |
-
|
|
|
|
|
|
|
| 787 |
|
| 788 |
# Clear previous states
|
| 789 |
models_state.clear()
|
|
@@ -1006,7 +1004,9 @@ with gr.Blocks() as app:
|
|
| 1006 |
# Handle subsequent rounds
|
| 1007 |
def handle_model_a_send(user_input, models_state, conversation_state):
|
| 1008 |
try:
|
| 1009 |
-
conversation_state["left_chat"].append(
|
|
|
|
|
|
|
| 1010 |
response = chat_with_models("left", models_state, conversation_state)
|
| 1011 |
# Clear the input box and disable the send button
|
| 1012 |
return (
|
|
@@ -1045,7 +1045,9 @@ with gr.Blocks() as app:
|
|
| 1045 |
|
| 1046 |
def handle_model_b_send(user_input, models_state, conversation_state):
|
| 1047 |
try:
|
| 1048 |
-
conversation_state["right_chat"].append(
|
|
|
|
|
|
|
| 1049 |
response = chat_with_models("right", models_state, conversation_state)
|
| 1050 |
# Clear the input box and disable the send button
|
| 1051 |
return (
|
|
@@ -1121,8 +1123,14 @@ with gr.Blocks() as app:
|
|
| 1121 |
"winner": winner_model,
|
| 1122 |
}
|
| 1123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1124 |
# Save feedback back to the Hugging Face dataset
|
| 1125 |
-
save_content_to_hf(feedback_entry, "SE-Arena/votes")
|
| 1126 |
|
| 1127 |
conversation_state["right_chat"][0]["content"] = conversation_state[
|
| 1128 |
"right_chat"
|
|
@@ -1132,7 +1140,9 @@ with gr.Blocks() as app:
|
|
| 1132 |
][0]["content"].split("\n\nInquiry: ")[-1]
|
| 1133 |
|
| 1134 |
# Save conversations back to the Hugging Face dataset
|
| 1135 |
-
save_content_to_hf(
|
|
|
|
|
|
|
| 1136 |
|
| 1137 |
# Clear state
|
| 1138 |
models_state.clear()
|
|
|
|
| 266 |
)
|
| 267 |
|
| 268 |
# Format the complete conversation history with different colors
|
| 269 |
+
formatted_history = format_conversation_history(
|
| 270 |
+
conversation_state[model_key][1:]
|
| 271 |
+
)
|
| 272 |
|
| 273 |
return formatted_history
|
| 274 |
|
|
|
|
| 296 |
return formatted_text
|
| 297 |
|
| 298 |
|
| 299 |
+
def save_content_to_hf(feedback_data, repo_name, folder_name, file_name):
|
| 300 |
"""
|
| 301 |
Save feedback content to Hugging Face repository organized by quarter.
|
| 302 |
"""
|
|
|
|
| 306 |
# Create a binary file-like object
|
| 307 |
file_like_object = io.BytesIO(json_content)
|
| 308 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 309 |
# Define the path in the repository
|
| 310 |
+
filename = f"{folder_name}/{file_name}.json"
|
| 311 |
|
| 312 |
# Ensure the user is authenticated with HF
|
| 313 |
token = HfFolder.get_token()
|
|
|
|
| 775 |
|
| 776 |
# Create a copy to avoid modifying the original
|
| 777 |
conversations = models.copy()
|
| 778 |
+
conversations.update(
|
| 779 |
+
{
|
| 780 |
+
"url": repo_url,
|
| 781 |
+
"left_chat": [{"role": "user", "content": combined_user_input}],
|
| 782 |
+
"right_chat": [{"role": "user", "content": combined_user_input}],
|
| 783 |
+
}
|
| 784 |
+
)
|
| 785 |
|
| 786 |
# Clear previous states
|
| 787 |
models_state.clear()
|
|
|
|
| 1004 |
# Handle subsequent rounds
|
| 1005 |
def handle_model_a_send(user_input, models_state, conversation_state):
|
| 1006 |
try:
|
| 1007 |
+
conversation_state["left_chat"].append(
|
| 1008 |
+
{"role": "user", "content": user_input}
|
| 1009 |
+
)
|
| 1010 |
response = chat_with_models("left", models_state, conversation_state)
|
| 1011 |
# Clear the input box and disable the send button
|
| 1012 |
return (
|
|
|
|
| 1045 |
|
| 1046 |
def handle_model_b_send(user_input, models_state, conversation_state):
|
| 1047 |
try:
|
| 1048 |
+
conversation_state["right_chat"].append(
|
| 1049 |
+
{"role": "user", "content": user_input}
|
| 1050 |
+
)
|
| 1051 |
response = chat_with_models("right", models_state, conversation_state)
|
| 1052 |
# Clear the input box and disable the send button
|
| 1053 |
return (
|
|
|
|
| 1123 |
"winner": winner_model,
|
| 1124 |
}
|
| 1125 |
|
| 1126 |
+
# Get the current year and quarter
|
| 1127 |
+
now = datetime.now()
|
| 1128 |
+
quarter = (now.month - 1) // 3 + 1
|
| 1129 |
+
folder_name = f"{now.year}_Q{quarter}"
|
| 1130 |
+
file_name = now.strftime("%Y%m%d_%H%M%S")
|
| 1131 |
+
|
| 1132 |
# Save feedback back to the Hugging Face dataset
|
| 1133 |
+
save_content_to_hf(feedback_entry, "SE-Arena/votes", folder_name, file_name)
|
| 1134 |
|
| 1135 |
conversation_state["right_chat"][0]["content"] = conversation_state[
|
| 1136 |
"right_chat"
|
|
|
|
| 1140 |
][0]["content"].split("\n\nInquiry: ")[-1]
|
| 1141 |
|
| 1142 |
# Save conversations back to the Hugging Face dataset
|
| 1143 |
+
save_content_to_hf(
|
| 1144 |
+
conversation_state, "SE-Arena/conversations", folder_name, file_name
|
| 1145 |
+
)
|
| 1146 |
|
| 1147 |
# Clear state
|
| 1148 |
models_state.clear()
|