vllm-project/semantic-router

feat: add drift and unrouted-query clustering with privacy controls

Open

#2,370 opened on Jul 5, 2026

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Go (699 forks)github user discovery
area/dashboardarea/observabilityenhancementevaluationhelp wantedpriority/P2roadmap

Repository metrics

Stars
 (4,293 stars)
PR merge metrics
 (PR metrics pending)

Description

Summary

Add drift and unrouted-query clustering so operators can identify missing recipes, weak signals, and routing regressions while preserving privacy controls.

Parent roadmap: #2287 Parent issue: #2345 Related: #2330, #2333, #2335, #2341 Related code: src/semantic-router/pkg/routerreplay, src/semantic-router/pkg/observability, dashboard/backend/evaluation, dashboard/backend, src/training

Motivation

Unrouted or low-confidence traffic is the strongest signal for new recipes, signal extractors, and calibration work. However, clustering must avoid turning replay into an unsafe raw prompt mining feature.

Scope

Define and implement:

  • low-confidence/unrouted sample selection;
  • embedding/signal drift metrics;
  • clustering summaries with redaction and retention controls;
  • export paths for eval/tuning datasets;
  • links from clusters to recipe/signal improvement workflows.

Non-goals

  • Do not retain raw sensitive prompts without explicit policy.
  • Do not let clustering automatically mutate routing config.
  • Do not replace formal evaluation datasets.

Acceptance criteria

  • Operators can see anonymized drift/unrouted clusters.
  • Cluster outputs can seed eval or tuning workflows with explicit approval.
  • Privacy and retention behavior is documented and tested.

Contributor guide