Beyond a Single Model: Building Mixture-of-Models Systems with vLLM Semantic Router
Most AI applications are built around a single model endpoint. But as models, devices, and deployment constraints diversify, no single model is the best fit for every request or environment. The practical question is how multiple specialized models can be coordinated, evaluated, and served through one interface. We call this systems approach Mixture-of-Models.
In less than a year since its public launch, vLLM Semantic Router has reached 5,000 stars, 150+ contributors, and more than 300,000 cumulative downloads across our Hugging Face model family. Across three major releases—Iris, Athena, and Themis—the system boundary moved from choosing a model, to governing multi-model inference, to preserving state and coordination across sessions. Those releases built the foundation for the MoM architecture envisioned from day 0.
This post describes the next step for vLLM Semantic Router: moving from routing among models to building dependable model systems from them. Under one versioned contract, independent models, policies, preferences, and execution paths become a system that can be trained, evaluated, exported, imported, deployed, and invoked through one interface. Our goal is to make vLLM Semantic Router a training, evaluation, and inference engine for Mixture-of-Models.

Figure 1: A Mixture-of-Models turns a heterogeneous model portfolio into one model experience.
How vLLM-SR Got Here
The first vLLM Semantic Router post asked a practical question: why give simple and difficult requests the same reasoning budget? A lightweight classifier used fixed domain labels to choose between fast and reasoning paths, helping vLLM spend inference compute more selectively.
Production traffic quickly exposed the limit of that design. Domain alone could not represent privacy, safety, context, language, modality, tools, preferences, latency, and authorization. A static label also could not account for an endpoint that was cheap but overloaded, capable but remote, or unsafe to switch into midway through an agent session.
We rebuilt the classifier layer around modular model support, shared LoRA computation, Rust/Candle inference, and Go integration. We then replaced fixed classification with a Signal–Decision architecture that separated observed evidence from policy and execution. This became the spine of the next three releases.
| Milestone | When | What changed |
|---|---|---|
| Incubation | Apr 2025 | Early semantic-routing prototypes began with Mixture-of-Models as the long-term system goal |
| Initial release | Sep 2025 | Intent-aware selection between fast and reasoning paths |
| v0.1 Iris | Jan 2026 | Signals, decisions, and route-scoped plugins replaced fixed classification |
| v0.2 Athena | Mar 2026 | Model selection, memory, RAG, long context, and multimodality expanded routing into an inference control system |
| v0.3 Themis | Jun 2026 | Stateful routing, projections, replay, protocol support, session continuity, and one production configuration contract made the system operable |
| Fusion and Micro-Agent | Jun 2026 | The router began choosing collaboration patterns, not only individual models |

Figure 2: Each stage changed the unit of control: model, decision, system, session, and finally the complete model lifecycle.
Iris made routing composable. Domain, keyword, embedding, factuality, feedback, and preference signals fed explicit decisions, while safety, PII protection, caching, hallucination detection, and tool selection became route-scoped behavior. Iris also introduced the MoM model family and described vLLM-SR as “System Level Intelligence for Mixture-of-Models.”
Athena added first-class model selection, memory and RAG, a multilingual and multimodal model stack, ROCm acceleration, and an operating dashboard. The project was becoming the control system around multi-model inference, not just a classifier in front of vLLM.
Themis turned that broader system into an operable contract:
Signals become projections. Projections feed decisions. Decisions choose algorithms. Algorithms select models.
Themis added session-aware agentic routing, replayable traces, stronger protocol support, an operator console, and runtime paths across AMD ROCm, NVIDIA CUDA, Intel OpenVINO, and CPU environments. It also made a route explainable: operators can see the evidence, policy, algorithm, and physical model behind each decision.
From Signal–Decision to Workload–Router–Pool
The releases built the runtime. Two project papers explained the architecture behind it.
The white paper, Signal Driven Decision Routing for Mixture-of-Modality Models, formalized the separation between neural evidence and symbolic policy. Fast heuristics and learned classifiers turn prompts, context, identity, safety, and modality into a structured signal vector; a Boolean engine then composes those signals into auditable policy. A typed neural-symbolic DSL parses and validates that policy before compiling it into deployable configuration. When the paper was published, the system covered thirteen signal types and thirteen model-selection algorithms, with per-decision plugins for caching, RAG, memory, safety, provider handling, and response validation.
The vision paper, The Workload–Router–Pool Architecture for LLM Inference Optimization, widened the frame. It argues that three variables have to be designed together:
- Workload: chat or agent, single-turn or multi-turn, warm or cold, prefill-heavy or decode-heavy
- Router: static semantic policy, online feedback or bandit adaptation, RL-based selection, and quality-aware cascades
- Pool: homogeneous or heterogeneous accelerators, prefill/decode topology, model placement, and KV-cache management
Those variables cannot be optimized independently. Workload shape changes which routing policy works; routing policy changes the required pool size and topology; pool state changes which route is efficient. Safety and privacy cut across all three dimensions, while cost, quality, latency, and energy define the optimization frontier. The paper maps the project's research into a 3 × 3 WRP matrix and identifies twenty-one open directions where those dimensions still need to meet.

Figure 3: The white paper defines the programmable routing engine; the vision paper connects it to workload and physical pool design.
Together, the papers made routing programmable and tied it to workload and hardware—the two foundations MoM brings under one model contract.
Meanwhile, the runtime was already moving beyond single-model selection. Fusion, ReMoM, Confidence, Ratings, and bounded Workflows let one request invoke a controlled collaboration among models. As the Micro-Agent work showed, a client can call one model name while the serving layer selects a recipe, fans out to workers, verifies or synthesizes their results, and returns one ordinary response.
| First chapter | New chapter |
|---|---|
| Route a request | Build a model system |
| Choose a model or capability path | Train, evaluate, and execute the whole MoM |
| Configure runtime policy | Package a portable, versioned model artifact |
| Optimize a routing decision | Optimize system intelligence across quality, cost, latency, safety, and energy |
| Hide backend choice behind one API | Make the complete multi-model system behave like one model |
Routing remains fundamental. It is how a Mixture-of-Models allocates work, applies policy, and coordinates its parts. But routing is the mechanism. The model system is the product.
Why the Model Boundary Has to Move
Today's AI stack is fragmented along four axes:
-
Models are fragmented. Closed frontier models, open general models, domain experts, compact local models, verifiers, and multimodal models will coexist. None wins simultaneously on quality, cost, latency, trust, privacy, and domain fit.
-
Compute is fragmented. GPUs, CPUs, specialized accelerators, edge devices, cloud capacity, and private clusters differ in memory, kernels, availability, price, and energy use. Model choice and placement are becoming the same decision.
-
Location is fragmented. Inference spans cloud, data center, and edge. Privacy or residency may rule out a stronger remote model, while a local workload may still need an on-demand cloud expert.
-
Preference is fragmented. There is no universal “best.” Products and users make different tradeoffs among accuracy, latency, price, privacy, safety, style, and multimodality. Those choices should shape execution directly.
Today, each application has to reconcile these fragments on its own.

Figure 4: Before MoM, fragmented intelligence becomes application-side routing glue.
Mixture-of-Models moves that responsibility behind one model boundary.
At that boundary, intelligent allocation becomes part of the model. The engine determines which models are eligible, where execution can run, whether models should collaborate, and how to satisfy hard constraints.
Energy makes allocation inseparable from efficiency. Hardware and inference engines improve the supply side by producing more tokens per watt per dollar. The allocation layer controls demand: which work deserves those tokens, and which model or collaboration can provide them within the required quality, latency, and energy budget.
The application selects one versioned model identity and receives one attributable response. Its physical realization can still span open and closed models, cloud and edge, and different accelerator generations. The fragmentation remains, but it becomes internal to the model system instead of leaking into every application.

Figure 5: With MoM, the same fragmented resources become the internal realization of one model.
What We Mean by Mixture-of-Models
A Mixture-of-Models is a versioned composite model whose engine realizes each request through a preference-conditioned, resource-bounded path across independent models and operators. It is presented to the user through one model interface and returns one attributable result.
A multi-upstream gateway can forward traffic without owning system quality. An MoM owns an objective, an evaluation contract, a reproducible composition, and the runtime that executes it.
MoM also differs from Mixture-of-Experts. MoE routes tokens among internal experts during one forward pass; MoM coordinates independent models that may differ in architecture, owner, license, modality, protocol, context window, and hardware. An MoE checkpoint can itself be one MoM component.
| Conventional model | Mixture-of-Models | |
|---|---|---|
| Unit of intelligence | One checkpoint | A governed system of models |
| Specialization | Primarily encoded in weights | Composed across independent specialists |
| Execution | One generation path | Selection, cascade, verification, fusion, or workflow |
| Optimization target | One model's quality and efficiency | The system frontier across quality, cost, latency, safety, privacy, and energy |
| Deployment boundary | One runtime | Cloud, data center, and edge |
| User contract | One model identity | One model identity |

Figure 6: Selection is one MoM topology. Cascades, parallel fusion, and bounded workflows share the same model boundary.
A portable MoM therefore needs more than weights and configuration: it needs a component manifest, capability metadata, routing and collaboration recipes, policies, preferences, evaluation suites, runtime constraints, provenance, and version history.
Open checkpoints can travel with the artifact; closed models remain authenticated external references with explicit capability and policy contracts. Exporting an MoM does not make a proprietary checkpoint portable. It makes the model system reproducible.
Turn Preferences into Models
Preferences become concrete when they are published as model identities. One MoM family can offer several operating points:
| Model identity | Contract |
|---|---|
vllm-sr/mom-v1-blend | Balance quality, latency, cost, and recovery across the configured model pool |
vllm-sr/mom-v1-lite | Minimize cost above a quality floor |
vllm-sr/mom-v1-flash | Minimize expected latency |
vllm-sr/mom-v1-ultra | Maximize quality within a declared budget |
vllm-sr/mom-v1-vault | Keep sensitive traffic on the configured private model pool |
Each name is a versioned model contract, not a router preset. The application chooses the behavior it needs; vLLM-SR selects and coordinates the models that deliver it while preserving hard privacy, residency, authorization, and safety constraints.
To an application, the full system remains an ordinary model call:
{
"model": "vllm-sr/mom-v1-ultra",
"messages": [
{"role": "user", "content": "Review this design and identify its weakest assumption."}
]
}
That identity may select one model, escalate through a cascade, compare parallel answers, require grounding, or run a bounded workflow—without changing the external interface, version, or response contract.

Figure 7: Preferences are published as bounded, versioned model contracts—not hidden application-side routing presets.
Four planes separate ownership:
| Plane | What it owns | Foundation already in vLLM-SR | Next step |
|---|---|---|---|
| Artifact | Components, capabilities, objectives, policy, eval contract, provenance | Canonical config, model references, DSL, versioned policy | Portable MoM import/export specification |
| Learning | Router-owned models, preferences, outcomes, recipe improvement | Training stack, Router Learning, replay, outcome APIs | Joint training and system-level release gates |
| Execution | Signals, projections, decisions, selectors, loopers, plugins | Signal–Decision runtime, Fusion, ReMoM, Workflows, safety and memory | One lifecycle-aware MoM engine |
| Physical | Providers, model pools, accelerators, locality, cache and energy state | vLLM backends, cloud providers, ROCm, CUDA, OpenVINO, CPU | Portable placement across cloud, data center, edge, and local devices |

Figure 8: A complete MoM spans four planes: artifact, learning, execution, and physical realization.
A deployment must map logical requirements onto the models and machines available in its environment. The proposal uses four objects:
- The bundle fixes the interface, graph, policies, behavior variant, bounds, and immutable semantic assets.
- The binding maps logical components to eligible deployments without changing the model's decision semantics.
- The resolution lock freezes the constituent revisions, runtimes, images, accelerators, and provider observations.
- The run record attributes every decision, call, constraint check, cost, and outcome to the bundle, binding, and lock that produced it.

Figure 9: One stable model identity, from portable contract to attributable run.
This separation keeps portability honest. The same mom-v1-ultra can bind to ROCm, CUDA, a private CPU or NPU node, or a hybrid deployment without promising identical outputs from opaque providers. Instead, it preserves control semantics, exposes substitutions, and gives serving and evaluation the same resolved system.