Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
GitHub Actions
commited on
Commit
·
43acb84
1
Parent(s):
d50d3f8
Sync from GitHub repo
Browse files- .gitignore +3 -1
- app.py +4 -17
- models.py +11 -2
.gitignore
CHANGED
@@ -49,4 +49,6 @@ Thumbs.db
|
|
49 |
# Uploads
|
50 |
static/temp_audio
|
51 |
|
52 |
-
votes/
|
|
|
|
|
|
49 |
# Uploads
|
50 |
static/temp_audio
|
51 |
|
52 |
+
votes/
|
53 |
+
|
54 |
+
.claude
|
app.py
CHANGED
@@ -690,8 +690,8 @@ def generate_tts():
|
|
690 |
"cache_hit": False,
|
691 |
}
|
692 |
|
693 |
-
#
|
694 |
-
|
695 |
|
696 |
# Return audio file paths and session
|
697 |
return jsonify(
|
@@ -827,13 +827,7 @@ def submit_vote():
|
|
827 |
if error:
|
828 |
return jsonify({"error": error}), 500
|
829 |
|
830 |
-
#
|
831 |
-
if vote and vote.sentence_origin == 'dataset' and vote.counts_for_public_leaderboard:
|
832 |
-
try:
|
833 |
-
mark_sentence_consumed(session_data["text"], session_id=session_id, usage_type='voted')
|
834 |
-
app.logger.info(f"Marked dataset sentence as consumed after vote: '{session_data['text'][:50]}...'")
|
835 |
-
except Exception as e:
|
836 |
-
app.logger.error(f"Error marking sentence as consumed after vote: {str(e)}")
|
837 |
|
838 |
# --- Save preference data ---
|
839 |
try:
|
@@ -1134,14 +1128,7 @@ def submit_podcast_vote():
|
|
1134 |
if error:
|
1135 |
return jsonify({"error": error}), 500
|
1136 |
|
1137 |
-
#
|
1138 |
-
# Note: Conversational votes typically use custom scripts, not dataset sentences
|
1139 |
-
if vote and vote.sentence_origin == 'dataset' and vote.counts_for_public_leaderboard:
|
1140 |
-
try:
|
1141 |
-
mark_sentence_consumed(session_data["text"], session_id=session_id, usage_type='voted')
|
1142 |
-
app.logger.info(f"Marked dataset sentence as consumed after conversational vote: '{session_data['text'][:50]}...'")
|
1143 |
-
except Exception as e:
|
1144 |
-
app.logger.error(f"Error marking sentence as consumed after conversational vote: {str(e)}")
|
1145 |
|
1146 |
# --- Save preference data ---\
|
1147 |
try:
|
|
|
690 |
"cache_hit": False,
|
691 |
}
|
692 |
|
693 |
+
# Don't mark as consumed yet - wait until vote is submitted to maintain security
|
694 |
+
# while allowing legitimate votes to count for ELO
|
695 |
|
696 |
# Return audio file paths and session
|
697 |
return jsonify(
|
|
|
827 |
if error:
|
828 |
return jsonify({"error": error}), 500
|
829 |
|
830 |
+
# Sentence consumption is now handled within record_vote function
|
|
|
|
|
|
|
|
|
|
|
|
|
831 |
|
832 |
# --- Save preference data ---
|
833 |
try:
|
|
|
1128 |
if error:
|
1129 |
return jsonify({"error": error}), 500
|
1130 |
|
1131 |
+
# Sentence consumption is now handled within record_vote function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1132 |
|
1133 |
# --- Save preference data ---\
|
1134 |
try:
|
models.py
CHANGED
@@ -243,8 +243,8 @@ def record_vote(user_id, text, chosen_model_id, rejected_model_id, model_type,
|
|
243 |
|
244 |
if all_dataset_sentences and text in all_dataset_sentences:
|
245 |
sentence_origin = 'dataset'
|
246 |
-
#
|
247 |
-
#
|
248 |
counts_for_public = not is_sentence_consumed(text)
|
249 |
else:
|
250 |
sentence_origin = 'custom'
|
@@ -316,6 +316,15 @@ def record_vote(user_id, text, chosen_model_id, rejected_model_id, model_type,
|
|
316 |
)
|
317 |
|
318 |
db.session.add_all([chosen_history, rejected_history])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
319 |
db.session.commit()
|
320 |
|
321 |
return vote, None
|
|
|
243 |
|
244 |
if all_dataset_sentences and text in all_dataset_sentences:
|
245 |
sentence_origin = 'dataset'
|
246 |
+
# For dataset sentences, check if already consumed to prevent fraud
|
247 |
+
# But now we'll mark as consumed AFTER successful vote recording
|
248 |
counts_for_public = not is_sentence_consumed(text)
|
249 |
else:
|
250 |
sentence_origin = 'custom'
|
|
|
316 |
)
|
317 |
|
318 |
db.session.add_all([chosen_history, rejected_history])
|
319 |
+
|
320 |
+
# Mark sentence as consumed AFTER successful vote recording (only for dataset sentences that count)
|
321 |
+
if counts_for_public and sentence_origin == 'dataset':
|
322 |
+
try:
|
323 |
+
mark_sentence_consumed(text, usage_type='voted')
|
324 |
+
except Exception as e:
|
325 |
+
# If consumption marking fails, log but don't fail the vote
|
326 |
+
logging.error(f"Failed to mark sentence as consumed after vote: {str(e)}")
|
327 |
+
|
328 |
db.session.commit()
|
329 |
|
330 |
return vote, None
|