Skip to main content

vLLM Beam Search Plugin

MRV2 beam-search scheduler and sampler plugin for vLLM V1.

This package provides:

  • vllm_beam_search.scheduler.BeamSearchScheduler
  • plugin-local sequence, token, and KV admission for complete beam groups
  • an MRV2 custom sampler wrapper installed through a plugin-local ModelState hook
  • plugin-local runtime hooks for MRV2 worker history rewrites

The current production path targets MRV2 generate models with async scheduling. The sampler hook is model-state generic; BART-family models still need the companion vllm-bart-plugin for encoder-decoder model support.

The plugin does not require a vLLM fork or source patch. It carries explicit plugin-local scheduler implementations for vLLM 0.24.0, 0.26.0, the tested 0.26.1 development build, and 0.28.0. Startup fails closed on an unsupported scheduler. Each vendored scheduler has an adjacent .diff recording its exact changes from the hashed upstream Scheduler.schedule; the test suite verifies both.

The Git repository, installable Python distribution, and PyPI project are named vllm-beam-search-plugin; the import package is vllm_beam_search.

For BART-family encoder-decoder serving, see BART_BEAM_SEARCH.md.

Install

Install the published distribution from PyPI with an exact version pin:

uv pip install 'vllm-beam-search-plugin==0.1.4'

The plugin metadata constrains its tested NumPy, PyTorch, and Triton API ranges. vLLM remains the owner of their accelerator-specific builds. In a prebuilt RHAII 3.5 image, preserve the image runtime and install only the pure-Python plugin:

uv pip install --no-deps \
  'vllm-beam-search-plugin==0.1.4'

The vLLM 0.24.0 and 0.28.0 paths have been unit-, correctness-, concurrency-, and sustained-memory-tested. Each selects its explicit vendored scheduler directly; the plugin does not use inspect.getsource, source-text matching, or runtime exec.

For stress tooling:

uv pip install 'vllm-beam-search-plugin[stress]==0.1.4'

Server

MODEL=${MODEL:-meta-llama/Meta-Llama-3-8B-Instruct}
SERVED_MODEL=${SERVED_MODEL:-llama3-8b}

CUDA_VISIBLE_DEVICES=0 \
VLLM_USE_FLASHINFER_SAMPLER=0 \
vllm serve "${MODEL}" \
  --served-model-name "${SERVED_MODEL}" \
  --dtype bfloat16 \
  --port 8005 \
  --scheduler-cls vllm_beam_search.scheduler.BeamSearchScheduler

Request Shape

{
  "model": "llama3-8b",
  "prompt": "Write a concise summary of why beam search is useful:",
  "max_tokens": 128,
  "temperature": 0,
  "add_special_tokens": false,
  "vllm_xargs": {
    "beam_width": 4,
    "no_repeat_ngram_size": 3
  }
}

Validation

Run unit tests:

uv run --with pytest python -m pytest tests -q

Run sustained stress plus memory sampling against a running server:

vllm-beam-stress \
  --base-url http://localhost:8005 \
  --model llama3-8b \
  --rounds 100 \
  --requests-per-round 32 \
  --concurrency 64 \
  --abort-rounds 3

The stress tool writes CSV samples with request count, RSS, and GPU memory.

Runtime Knobs

  • VLLM_BEAM_GROUP_STATE_CAPACITY controls GPU beam-state pool capacity.
  • VLLM_BEAM_TRANSITION_BUFFER_SLOTS controls async transition buffer slots.

Metadata

Release files for vllm-beam-search-plugin 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vllm-beam-search-plugin 0.1.4
File Size Uploaded Provenance Actions
vllm_beam_search_plugin-0.1.4.tar.gz 79.4 kB Without provenance Details for vllm_beam_search_plugin-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vllm-beam-search-plugin 0.1.4
File Interpreter ABI Platform Actions
vllm_beam_search_plugin-0.1.4-py3-none-any.whl Python 3 none any Details for vllm_beam_search_plugin-0.1.4-py3-none-any.whl

Total release size: 155.6 kB

Release files / vllm_beam_search_plugin-0.1.4.tar.gz

Download URL vllm_beam_search_plugin-0.1.4.tar.gz
Size 79.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4c298cf65526bf89b1f863570b7b2f468c941ded10fe04723b709dd45761c547
BLAKE2b-256 checksum
How to use checksums
49220de5a1199f3cab0915a4e763d7bba3834c2ede0c7217d7f4f4435fcc2e44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / vllm_beam_search_plugin-0.1.4-py3-none-any.whl

Download URL vllm_beam_search_plugin-0.1.4-py3-none-any.whl
Size 76.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4c108e2e97de93b96476ef615d3477eb89e8d6235f56364c890448c78afa4ea
BLAKE2b-256 checksum
How to use checksums
9665aa33bd26dcbed394d09255bed603c5210810170351466c272a23f988779e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for vllm-beam-search-plugin 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page