Upload app.py
Browse files
app.py
CHANGED
|
@@ -361,6 +361,22 @@ def get_sample_transcript(sample_id):
|
|
| 361 |
return (row["transcript"] if row else "") or ""
|
| 362 |
|
| 363 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 364 |
# --------------------------------------------------------------------------- #
|
| 365 |
# Ratings
|
| 366 |
# --------------------------------------------------------------------------- #
|
|
@@ -640,14 +656,18 @@ with gr.Blocks(title="Plotweaver AI β TTS MOS Evaluation",
|
|
| 640 |
allow_custom_value=True, scale=3)
|
| 641 |
del_btn = gr.Button("Delete selected", variant="stop", scale=0, size="sm")
|
| 642 |
|
| 643 |
-
gr.Markdown("####
|
| 644 |
-
gr.Markdown("Pick a sample to
|
| 645 |
-
"
|
|
|
|
|
|
|
| 646 |
with gr.Row():
|
| 647 |
tr_sample = gr.Dropdown(label="Sample", choices=[],
|
| 648 |
allow_custom_value=True, scale=2)
|
|
|
|
|
|
|
| 649 |
tr_text = gr.Textbox(label="Reference text", lines=2, scale=3)
|
| 650 |
-
tr_btn = gr.Button("Save
|
| 651 |
tr_msg = gr.Markdown()
|
| 652 |
|
| 653 |
gr.Markdown("### Users")
|
|
@@ -879,21 +899,24 @@ with gr.Blocks(title="Plotweaver AI β TTS MOS Evaluation",
|
|
| 879 |
del_btn.click(admin_delete_sample, [session, del_sample],
|
| 880 |
[up_msg, samples_tbl, del_sample, tr_sample])
|
| 881 |
|
| 882 |
-
# ---- Admin: per-sample reference text ----
|
| 883 |
-
def
|
| 884 |
if not sess or sess["role"] != "admin" or not sid:
|
| 885 |
-
return ""
|
| 886 |
-
|
| 887 |
-
|
|
|
|
| 888 |
|
| 889 |
-
def
|
| 890 |
if not sess or sess["role"] != "admin":
|
| 891 |
-
return "β Admin only."
|
| 892 |
if not sid:
|
| 893 |
-
return "β Select a sample first."
|
| 894 |
set_sample_transcript(int(sid), text)
|
| 895 |
-
|
| 896 |
-
|
|
|
|
|
|
|
| 897 |
|
| 898 |
# ---- Admin: users ----
|
| 899 |
def _users_table():
|
|
@@ -931,6 +954,12 @@ with gr.Blocks(title="Plotweaver AI β TTS MOS Evaluation",
|
|
| 931 |
if not language_id:
|
| 932 |
return "Choose a language.", None, None
|
| 933 |
per_model, per_sample, summary = compute_results(language_id)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 934 |
return summary, per_model, per_sample
|
| 935 |
res_btn.click(admin_results, [session, res_lang], [res_summary, res_model_tbl, res_sample_tbl])
|
| 936 |
|
|
|
|
| 361 |
return (row["transcript"] if row else "") or ""
|
| 362 |
|
| 363 |
|
| 364 |
+
def get_sample_meta(sample_id):
|
| 365 |
+
with get_conn() as conn:
|
| 366 |
+
row = conn.execute("SELECT transcript, is_reference FROM samples WHERE id = ?",
|
| 367 |
+
(sample_id,)).fetchone()
|
| 368 |
+
if not row:
|
| 369 |
+
return "", False
|
| 370 |
+
return (row["transcript"] or ""), bool(row["is_reference"])
|
| 371 |
+
|
| 372 |
+
|
| 373 |
+
def set_sample_reference(sample_id, is_ref):
|
| 374 |
+
with get_conn() as conn:
|
| 375 |
+
conn.execute("UPDATE samples SET is_reference = ? WHERE id = ?",
|
| 376 |
+
(1 if is_ref else 0, sample_id))
|
| 377 |
+
backup_db()
|
| 378 |
+
|
| 379 |
+
|
| 380 |
# --------------------------------------------------------------------------- #
|
| 381 |
# Ratings
|
| 382 |
# --------------------------------------------------------------------------- #
|
|
|
|
| 656 |
allow_custom_value=True, scale=3)
|
| 657 |
del_btn = gr.Button("Delete selected", variant="stop", scale=0, size="sm")
|
| 658 |
|
| 659 |
+
gr.Markdown("#### Edit a sample")
|
| 660 |
+
gr.Markdown("Pick a sample to edit its reference text (shown to reviewers) and whether it "
|
| 661 |
+
"is a reference / human anchor. **Anchors are excluded from the system MOS** β "
|
| 662 |
+
"if your MOS table is empty but ratings exist, the samples are probably marked "
|
| 663 |
+
"as anchors here; untick the box and Save.")
|
| 664 |
with gr.Row():
|
| 665 |
tr_sample = gr.Dropdown(label="Sample", choices=[],
|
| 666 |
allow_custom_value=True, scale=2)
|
| 667 |
+
tr_isref = gr.Checkbox(label="Reference / human anchor", value=False, scale=1)
|
| 668 |
+
with gr.Row():
|
| 669 |
tr_text = gr.Textbox(label="Reference text", lines=2, scale=3)
|
| 670 |
+
tr_btn = gr.Button("Save", scale=0, size="sm")
|
| 671 |
tr_msg = gr.Markdown()
|
| 672 |
|
| 673 |
gr.Markdown("### Users")
|
|
|
|
| 899 |
del_btn.click(admin_delete_sample, [session, del_sample],
|
| 900 |
[up_msg, samples_tbl, del_sample, tr_sample])
|
| 901 |
|
| 902 |
+
# ---- Admin: per-sample reference text & anchor flag ----
|
| 903 |
+
def load_sample_meta(sess, sid):
|
| 904 |
if not sess or sess["role"] != "admin" or not sid:
|
| 905 |
+
return "", False
|
| 906 |
+
tr, isref = get_sample_meta(int(sid))
|
| 907 |
+
return tr, isref
|
| 908 |
+
tr_sample.change(load_sample_meta, [session, tr_sample], [tr_text, tr_isref])
|
| 909 |
|
| 910 |
+
def save_sample_meta(sess, sid, text, is_ref):
|
| 911 |
if not sess or sess["role"] != "admin":
|
| 912 |
+
return "β Admin only.", _samples_table()
|
| 913 |
if not sid:
|
| 914 |
+
return "β Select a sample first.", _samples_table()
|
| 915 |
set_sample_transcript(int(sid), text)
|
| 916 |
+
set_sample_reference(int(sid), is_ref)
|
| 917 |
+
flag = "reference / anchor (excluded from MOS)" if is_ref else "system sample (counts toward MOS)"
|
| 918 |
+
return (f"β
Saved sample #{int(sid)} β now a {flag}.", _samples_table())
|
| 919 |
+
tr_btn.click(save_sample_meta, [session, tr_sample, tr_text, tr_isref], [tr_msg, samples_tbl])
|
| 920 |
|
| 921 |
# ---- Admin: users ----
|
| 922 |
def _users_table():
|
|
|
|
| 954 |
if not language_id:
|
| 955 |
return "Choose a language.", None, None
|
| 956 |
per_model, per_sample, summary = compute_results(language_id)
|
| 957 |
+
if per_model is None or per_model.empty:
|
| 958 |
+
per_model = pd.DataFrame({"info": ["No system (non-anchor) ratings yet. "
|
| 959 |
+
"If ratings exist, the rated samples may be marked as "
|
| 960 |
+
"reference/anchor β untick that in 'Edit a sample'."]})
|
| 961 |
+
if per_sample is None or per_sample.empty:
|
| 962 |
+
per_sample = pd.DataFrame({"info": ["No system (non-anchor) per-sample ratings yet."]})
|
| 963 |
return summary, per_model, per_sample
|
| 964 |
res_btn.click(admin_results, [session, res_lang], [res_summary, res_model_tbl, res_sample_tbl])
|
| 965 |
|