vllm-project/semantic-router

feat: normalize auto model names and algorithm virtual slugs through entrypoints

Open

#2,354 opened on Jul 5, 2026

View on GitHub
 (0 comments) (0 reactions) (1 assignee)Go (699 forks)github user discovery
area/corearea/model-selectionenhancementhelp wantedpriority/P1roadmap

Repository metrics

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

Description

Summary

Normalize the existing auto_model_name, auto_model_names, and algorithm virtual slugs into the new entrypoints/recipes model so compatibility behavior is explicit instead of scattered across request handling.

Parent roadmap: #2287 Parent issue: #2331 Related code: src/semantic-router/pkg/config/config.go, src/semantic-router/pkg/extproc, src/vllm-sr/cli, deploy/recipes, src/semantic-router/pkg/dsl

Motivation

Multiple recipe support should not leave old auto-model aliases and algorithm virtual slugs as special cases. The current config has AutoModelName and AutoModelNames, while Looper/MoM-style virtual names have historically acted like model names. These should map into entrypoints outside routing, then select a named recipe/profile.

Scope

Define compatibility and normalization for:

  • auto_model_name and auto_model_names migration into entrypoints;
  • algorithm virtual slugs such as MoM/Looper/Fusion-style request model names;
  • default working recipe mapping for vllm-sr/auto, auto, and existing aliases;
  • config dump/validate output that explains normalized entrypoints;
  • CLI/dashboard/operator handling of compatibility fields.

Non-goals

  • Do not remove legacy fields without migration and validation errors.
  • Do not put entrypoints inside routing; entrypoints select a recipe from above routing.
  • Do not couple algorithm slugs to signal definitions.

Acceptance criteria

  • Existing auto model names continue to route through a normalized entrypoint representation.
  • Multiple recipe configs can map different virtual model names to different recipes.
  • Config validation detects ambiguous aliases and conflicting entrypoint mappings.
  • Docs explain migration from old auto-model fields.

Contributor guide