Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -42,8 +42,15 @@ def load_test_data(task):
|
|
42 |
with open('/app/test_text.txt', 'r') as file:
|
43 |
content = file.read()
|
44 |
print(content)
|
45 |
-
with open(os.path.join(DATA_DIR, f"{task}.json"), "r", encoding='utf-8') as f:
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
# 更新音频路径,将它们指向 Flask 静态文件夹
|
49 |
for item in test_data:
|
@@ -79,6 +86,8 @@ def start_test():
|
|
79 |
|
80 |
# Load the test data
|
81 |
test_data = load_test_data(task)
|
|
|
|
|
82 |
|
83 |
# Shuffle test data for the user
|
84 |
random.shuffle(test_data)
|
@@ -95,6 +104,9 @@ def start_test():
|
|
95 |
|
96 |
task_description = test_data[0].get('task_description', '')
|
97 |
|
|
|
|
|
|
|
98 |
return jsonify({"message": "Test started", "total_tests": len(test_data), "task_description": task_description})
|
99 |
|
100 |
|
@@ -102,8 +114,12 @@ def start_test():
|
|
102 |
@app.route('/next_test', methods=['GET'])
|
103 |
def next_test():
|
104 |
"""Serve the next test item"""
|
|
|
|
|
|
|
105 |
if 'current_index' not in session or 'test_data' not in session:
|
106 |
-
return jsonify({"message": "
|
|
|
107 |
|
108 |
current_index = session['current_index']
|
109 |
test_data = session['test_data']
|
@@ -115,6 +131,9 @@ def next_test():
|
|
115 |
# 使用 EloRank 的 sample_next_match 来选择两款模型
|
116 |
selected_models = elo_rank_system.sample_next_match()
|
117 |
|
|
|
|
|
|
|
118 |
# Serve test data with the two selected models
|
119 |
current_test = test_data[current_index]
|
120 |
session['selected_models'] = selected_models
|
|
|
42 |
with open('/app/test_text.txt', 'r') as file:
|
43 |
content = file.read()
|
44 |
print(content)
|
45 |
+
# with open(os.path.join(DATA_DIR, f"{task}.json"), "r", encoding='utf-8') as f:
|
46 |
+
# test_data = json.load(f)
|
47 |
+
|
48 |
+
try:
|
49 |
+
with open(os.path.join(DATA_DIR, f"{task}.json"), "r", encoding='utf-8') as f:
|
50 |
+
test_data = json.load(f)
|
51 |
+
except FileNotFoundError:
|
52 |
+
return jsonify({"message": "Test data file not found"}), 400
|
53 |
+
|
54 |
|
55 |
# 更新音频路径,将它们指向 Flask 静态文件夹
|
56 |
for item in test_data:
|
|
|
86 |
|
87 |
# Load the test data
|
88 |
test_data = load_test_data(task)
|
89 |
+
if not test_data:
|
90 |
+
return jsonify({"message": "No test data available"}), 400
|
91 |
|
92 |
# Shuffle test data for the user
|
93 |
random.shuffle(test_data)
|
|
|
104 |
|
105 |
task_description = test_data[0].get('task_description', '')
|
106 |
|
107 |
+
print(session)
|
108 |
+
|
109 |
+
|
110 |
return jsonify({"message": "Test started", "total_tests": len(test_data), "task_description": task_description})
|
111 |
|
112 |
|
|
|
114 |
@app.route('/next_test', methods=['GET'])
|
115 |
def next_test():
|
116 |
"""Serve the next test item"""
|
117 |
+
# if 'current_index' not in session or 'test_data' not in session:
|
118 |
+
# return jsonify({"message": "No active test found"}), 400
|
119 |
+
|
120 |
if 'current_index' not in session or 'test_data' not in session:
|
121 |
+
return jsonify({"message": "Session data missing", "session": session}), 400
|
122 |
+
|
123 |
|
124 |
current_index = session['current_index']
|
125 |
test_data = session['test_data']
|
|
|
131 |
# 使用 EloRank 的 sample_next_match 来选择两款模型
|
132 |
selected_models = elo_rank_system.sample_next_match()
|
133 |
|
134 |
+
if not selected_models or len(selected_models) != 2:
|
135 |
+
return jsonify({"message": "Error selecting models"}), 500
|
136 |
+
|
137 |
# Serve test data with the two selected models
|
138 |
current_test = test_data[current_index]
|
139 |
session['selected_models'] = selected_models
|