feat(detection): add detector-only mode
Maintainers usually reply within 1 day
Nobody has claimed this yet.
- #283 by @afourniernv — closed without merging
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python
- Domain
- ai, backend, observability
Research direction
Trace the workflow construction, model alias validation, excluded-label handling, telemetry, serialization, and public API propagation entry points mentioned in the issue. Add coverage for detector-only behavior and skipped refinement models, then verify the finalized schema and documented speed-versus-quality tradeoff; benchmark accuracy and latency separately before production readiness.
Written by the indexing model from the issue text.
Description
Priority
Low
Problem
The detection pipeline always performs GLiNER detection, LLM validation, and LLM augmentation. Latency-sensitive callers cannot explicitly choose the raw detector result even when they accept lower precision and recall.
Proposed solution
Add an opt-in detector-only mode that:
- runs the configured GLiNER detector;
- skips validator and augmenter model calls;
- finalizes the same entity/result schema;
- marks skipped refinement models as not applicable in telemetry; and
- documents that this is a speed-versus-quality choice, not a production privacy guarantee.
Alternatives considered
- Configure no validator/augmenter aliases: current validation treats those roles as required and the workflow still builds refinement columns.
- Implement the fast path only in a downstream Relay plugin: that would depend on Anonymizer internals and duplicate detection finalization.
Validation expectation
Unit tests should cover workflow construction, model alias validation, excluded labels, telemetry, serialization, and public API propagation. Before calling the mode production-ready, benchmark its accuracy and latency on representative data; early live testing showed both missed detections and over-redaction.
- Dominant language
- Python
- Stars
- 129
- Forks
- 21
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 21
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NVIDIA-NeMo/Anonymizer
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
NVIDIA-NeMo/Anonymizer#327 ·
Maintainers usually reply within 1 day
-
Replacement-map generation can silently omit a requested entity, causing the rewrite to be marked unavailablePossibly taken @dundysm claimed this 32 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
NVIDIA-NeMo/Anonymizer#278 · 2 comments ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
NVIDIA-NeMo/Anonymizer#6 · 1 comment ·
Maintainers usually reply within 1 day
-
task
Difficulty 4/5 3-5 days Newbie friendliness 48/100
NVIDIA-NeMo/Anonymizer#323 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
NVIDIA-NeMo/Anonymizer#304 ·
Maintainers usually reply within 1 day
All issues in NVIDIA-NeMo/Anonymizer
Similar issues
-
Project submission:Open
Difficulty 1/5 Under an hour Newbie friendliness 72/100
slavakurilyak/awesome-ai-agents#845 ·
Maintainers usually reply within 1 day
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryPossibly taken A pull request linked to this issue is open or already merged. Opendifficulty:2 enhancement good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
MakazhanAlpamys/Soup#2178 ·
Maintainers usually reply within 1 day
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
scverse/rapids-singlecell#854 ·
Maintainers usually reply within 1 day
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLPossibly taken @ninglinLiu claimed this 1 day ago. Openarea:frontend backend:slang bug direction:input
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalsePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 13 days