Repository navigation
feat(nli): opt-in accurate NLI model with consent and a reported fallback - #14
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp
…er note The accurate profile is the bake-off winner at k=2, with cuts calibrated on SciFact train and rule-decided rows left out of the tier walk. A run whose medium cut sits on decide now says it has no real low tier. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp
…ed fallback check --accurate or [models] nli = "accurate" selects the large model. It is downloaded once, only with consent; when the download is refused or fails the run uses the default model and says so in the report, as a note, and on a CLI line that survives -q. The models block now records k. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp
…ed note The published AVeriTeC number describes the default install, so the eval scripts no longer follow a user's models.nli. A cached accurate model no longer adds a note to every run. The default verdict-cache key is pinned by a test so it cannot drift. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
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 this changes
MoritzLaurer/DeBERTa-v3-large-mnli-fever-anli-ling-wanli, int8, run with k=2 and its own cuts (decide 0.25, medium 0.252721, high 0.999142). The cuts were calibrated on SciFact train, and rule-decided rows were left out of the tier walk. Turn it on with[models] nli = "accurate",proofpath config set models.nli accurate,/config, orproofpath check --accuratefor one run.permissions.install_model(ask/allow/deny) works like the browser gate: once, always, no or never, and with no TTYaskmeansdeny(rule 4).--accuratepicks the profile but does not grant consent.nli_requestedin the report'smodelsblock;nliline in the CLI that-qdoes not hide.mediumcut sits ondecidenow says it has no real low tier. This applies to default runs too, since their medium cut is 0.008 above decide. Themodelsblock now recordsk./confighasmodels.nliandpermissions.install_modelrows, and the permission prompt also asks the model question./allow, the buttons and quit all answer it.Why
The bake-off measured SciFact dev macro-F1 at 0.697 for this model, against 0.580 for the default. It is not better on news and fact-check pages (AVeriTeC readable 0.475, against 0.537 for the default model at k=2; both are below the 0.708 majority baseline), so it ships as an opt-in for scientific sources rather than as the default. The default install stays small.
Every task had an independent reviewer and a re-review. A final whole-branch review answered READY TO MERGE after one Important fix: the eval scripts had followed the user's profile. Live runs were checked twice:
--accuratewith the model cached (k=2, accurate cuts), and with the model missing and no TTY (no download; fallback reported three ways).Checklist
ruff checkandruff format --checkare clean (andmypy --strict)pytestpasses (2667 passed, 1 skipped)modelsentry and notes only)🤖 Generated with Claude Code
https://claude.ai/code/session_01KRNnJrkUuFNdBcR5vXRgTp