Repository navigation
feat(vlm): optional per-pack registry prior for open-vocabulary labeling (#61) - #185
Merged
Merged
Conversation
…ing (#61) A prompt pack's registry_prior_top_k (0 = off, max 50) adds the top-k registry classes by validated count and the pending new-class proposal names to the open-vocabulary prompt as a hint. Built server-side from project state, ordered deterministically; replies outside the list are still accepted; the run refuses (503 / stage error) when the counts cannot be read. Served in the pack schema as kind int, validated with the new pack_field_out_of_range code. Adds an offline on/off scorer under scripts/curation/bakeoff.
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.
Refs #61 (item 2). Not closing: the acceptance (overall accuracy on the COCO oracle, prior on vs off) is a live measurement that is still pending.
What
A prompt pack gets
registry_prior_top_k(integer, 0 = off by default, hard max 50). When > 0, open-vocabulary VLM labeling (POST /vlm/label_batchand the auto-label pipeline VLM stage) adds to the prompt the top-k registry class names, ranked by validated-item count (ties by name), plus up to k pending new-class proposal names.Design
registry_prior_source.py, aggregations on the bound project's items index, holdout excluded); no client-supplied lists. Names only, never indexes.label_batchreturns 503 and the pipeline returns a stage error, rather than labeling without it.pack_field_missing; outside 0..50 is the newpack_field_out_of_range. Served in the pack schema askind: "int", groupopen_classify. Contracts regenerated; frontendPackSchemaField.kind,PackFieldValue, fixture, test pin and CHANGELOG updated (the editor shows an unknown kind read-only and saves it unchanged).test_holdoutuntouched: only prompt text changes.detector_class_name; this is a per-batch registry prior.Measurement harness (offline-tested only)
scripts/curation/bakeoff/vlm_prior_oracle.py(dumpper run,compareoff vs on). No live VLM/GPU run was done.Verified
Items 1 (proposal denylist) and 3 (
label_agreement) of the issue are already on main.