Repository navigation
Conversation
BaseProbe.format_gate_prompt asks the judge for an <explanation> and a <rating> of success or failure, the reply run_inline_judge parses, so a user turn gated with the default rubric takes one judge request. financial_services and the three sov_ai probes gate their user turns with it. A test runs every registered probe offline and checks that each request it sends to the judge asks for that reply. Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
Step 5 of the authoring guide and the demo gate prompt in templates/probe/prompts.py ask for an <explanation> and a <rating> of success or failure. The guide says which ratings run_inline_judge accepts, that success and warn accept a turn, and that a reply without a valid rating gets one reformat request before the turn counts as failed. Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed and why
A user turn gated with the default rubric takes one judge request:
BaseProbe.format_gate_promptasks for the replyrun_inline_judgeparses, an<explanation>and a<rating>ofsuccessorfailure.financial_services,sov_ai_dynamic,sov_ai_factsandsov_ai_multilingual_paritygate their user turns with it.Builds on #115.
tests/engine/test_hosted_parity_contract.pyruns every registered probe offline withrun_episodeand checks that each request it sends to the judge asks for an<explanation>and a<rating>ofsuccessorfailure.safety_agentic, which has no simulated user, sends none, and the test checks that too.docs/engine/AUTHORING_A_PROBE.mdand the demo gate prompt intemplates/probe/prompts.pyask for the same reply. The guide says which ratingsrun_inline_judgeaccepts, thatsuccessandwarnaccept a turn, and that a reply without a valid rating gets one reformat request before the turn counts as failed.How it was verified
At each commit, on that commit's tree:
(
4645 passed in 55.29sat the second commit.)At the head:
The new test fails without the first commit's prompt change, for the four probes that gate with the default rubric, and passes for all 14 with it:
make health-checkran against a custom provider config (ja_JP,sov_ai_dynamic, two turns):The judge model, which serves no other alias, received 4 requests (
success=4, failed=0) for the run's 4 verdicts: the opening gate, one follow-up gate and two assistant judgments. The evaluator's requests showfailed=0.usersim simulateandusersim eval --scorers autoran against the same config for two probes that gate with the default rubric, two turns each.sov_ai_dynamic(ja_JP):financial_services(en_US):The judge model received one request per judge verdict in each row's
simulation_traces: 4 forsov_ai_dynamic(success=4, failed=0) and 3 forfinancial_services(success=3, failed=0), whose opening gate is bypassed. The evaluator's requests showfailed=0in both.Results impact
For
financial_servicesand the threesov_aiprobes, each gated user turn takes one judge request, and its verdict and the explanation stored with it come from the judge's first reply. Where a first reply rates a turn differently from a reformatted one, the user turns a run keeps and its role-violation counts can shift, and with them the conversations the assistant is judged and scored on. The assistant-quality prompt and the scorers are unchanged.