semantic-router Documentation

A programmable Mixture-of-Models router for heterogeneous LLM inference

RAW Doc

Technical Documentation: vllm-project/semantic-router

ℹ️ Provenance: Hybrid Fusion: vllm-project/semantic-router + vllm-project/vllm-project.github.io Β· CodeWiki Reference Β· Recency: Active (< 180 days)

1. Project Overview & Quickstart (vllm-project/semantic-router)


About

vLLM Semantic Router is a programmable routing layer for building Mixture-of-Models systems across heterogeneous LLM infrastructure. It evaluates request signals, user preferences, and application policies to selectβ€”or composeβ€”the right model path for each request.

Use it to improve quality, cost, latency, privacy, and safety without hard-coding routing logic into applications.

Dimension Fragmented today With vLLM SR
Models Models specialize in different work. Compose personalized model paths.
Compute GPUs, accelerators, edge, and cloud coexist. Route across heterogeneous compute.
Location Inference spans edge, private, and cloud. Keep data within its boundaries.
Preference "Best" changes by user and workload. Make every preference executable.

Explore how it works β†’

Getting Started

Install

bash
curl -fsSL https://vllm-sr.ai/install.sh | bash

For platform notes, detailed setup options, and troubleshooting, see the Installation Guide.

Online playground credentials

Latest News

Earlier announcements

More announcements are available on the Blog and Publications pages.

Community

For questions, feedback, or to contribute, please join the #semantic-router channel in vLLM Slack.

Community Meetings

We host community meetings on the first and third Tuesday of each month to sync with contributors across different time zones:

Contributing

If you want to contribute, start with CONTRIBUTING.md.

For repository-native development workflow and validation commands, use AGENTS.md as the entrypoint and tools/agent/docs/README.md as the canonical index.

Citation

If you find Semantic Router helpful in your research or projects, please consider citing it:

text
@misc{semanticrouter2025,
  title={vLLM Semantic Router},
  author={vLLM Semantic Router Team},
  year={2025},
  howpublished={\url{https://github.com/vllm-project/semantic-router}},
}

Sponsors

We are grateful to our sponsors who support us:


AMD provides us with GPU resources and ROCmβ„’ software for training and researching frontier router models, enhancing E2E testing, and building the online models playground.


2. Official Technical Reference & Guides (vllm-project/vllm-project.github.io)

vLLM blog source

Local development

  1. Install jekyll and bundler by running gem install jekyll bundler. Ask ChatGPT for help if you encounter any issues.
  2. bundle install to install the necessary gems.
  3. rm ./Gemfile.lock if you meet gem error.
  4. bundle exec jekyll server to compile and start the server.

To add a new blogpost, please refer to _posts/2023-06-20-vllm.md as an example. Some notes:

  • Google Doc can be saved as markdown format which will make your life easier.
  • Note that the blogpost will only show when its date is in the past.
  • Add summary front matter for SEO. Keep it concise, specific, and 240 characters or fewer.
  • Put figures under assets/figures/yourblogname/.
  • Make a pull request.

The blog is automatically built and deployed by GitHub Actions when main is pushed to.

LaTeX Math

The blog supports LaTeX math via MathJax.

It can be enabled by adding math: true to the document frontmatter. It has been configured to support the standard LaTeX style math notation, i.e.:

latex
$ inline math $
latex
$$
math block
$$

GitHub Flavored Admonitions

The blog supports GitHub flavored admonitions via jekyll-gfm-admonition. It supports the following syntax:

markdown
> [!NOTE]
> Highlights information that users should take into account, even when skimming.
> And supports multi-line text.

> [!TIP]
> Optional information to help a user be more successful.

> [!IMPORTANT]
> Crucial information necessary for users to succeed.

> [!WARNING]
> Critical content demanding immediate
> user attention due to potential risks.

> [!CAUTION]
> Negative potential consequences of an action.
> Opportunity to provide more context.

Theme customization

The theme we are using is Minima. If you need to customise anything from this theme, see Overriding theme defaults.

--- METRICS ---