Skip to content

FIX: Annotate audio scorer rationale once instead of duplicating it - #3521

Open
Chen Yufeiyang (feiiiiii5) wants to merge 1 commit into
microsoft:mainfrom
feiiiiii5:a249-audio-rationale
Open

Chen Yufeiyang (feiiiiii5) wants to merge 1 commit into
microsoft:mainfrom
feiiiiii5:a249-audio-rationale

Conversation

@feiiiiii5

Copy link
Copy Markdown
Contributor

Description

Fixes a small data-quality bug in the audio scorers' wrapper scores.

AudioTrueFalseScorer and AudioFloatScaleScorer build a wrapper score around the transcript scorer's result and set its rationale to f"{rationale}\nAudio transcript scored: {rationale}", so the child's rationale is persisted twice — once bare, once attributed. That rationale is stored with the score and, for example, spliced whole into the adversarial chat's feedback prompt when Crescendo runs with use_score_as_feedback=True.

_create_wrapper_score already deep-copies the child's judgment; the wrapper's job is to attribute it (docstring: "Copy a child's judgment into a new wrapper-owned result"), and the sibling wrappers (ConversationScorer, FloatScaleThresholdScorer) annotate without repeating the text bare. This keeps only the attributed line.

Tests and Documentation

Strengthened the two test_score_piece_with_transcript cases to assert the exact rationale. Both fail on main with the bare copy present, e.g. AssertionError: assert 'Test rationale...t transcript.' == 'Audio transc...wav', and pass on this branch. Also ran the full tests/unit/score suite (4533 passed, 115 skipped) and ruff check/format on the changed files. No documentation change needed (behavior now matches the docstring); JupyText not affected by this change and not run.

The wrapper score copied the transcript scorer's rationale twice: once
bare and once under the 'Audio transcript scored:' prefix. The wrapper's
job is to attribute the judgment, and model_copy already carries the
child's rationale, so keep only the attributed line.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. This removes the duplicate rationale from both audio wrappers and keeps the transcript attribution.

Reviewed with GitHub Copilot.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants