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, and the tested 0.26.1 development build. 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.2'

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.2'

The vLLM 0.24.0 path has been unit-, correctness-, concurrency-, and sustained memory-tested. It selects vendored_scheduler_v024.schedule_v024 directly; it does not use inspect.getsource, source-text matching, or runtime exec.

For stress tooling:

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

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.2

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.2
File Size Uploaded Provenance Actions
vllm_beam_search_plugin-0.1.2.tar.gz 70.1 kB Without provenance Details for vllm_beam_search_plugin-0.1.2.tar.gz

Built distribution (wheel)

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

Total release size: 136.2 kB

Release files / vllm_beam_search_plugin-0.1.2.tar.gz

Download URL vllm_beam_search_plugin-0.1.2.tar.gz
Size 70.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bfacdff802cc5a03e805645347df261e1656091a1dd4d86cacbf6ba0fe881e3b
BLAKE2b-256 checksum
How to use checksums
f26bdfc62f03fb0a7a742c9929af40710bc7645da630140cce818a6bee01b722
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.2-py3-none-any.whl

Download URL vllm_beam_search_plugin-0.1.2-py3-none-any.whl
Size 66.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58cf6c2a92691fd449b974e56a2c6d2ffb9cfcdb8866f58ca442860939379c66
BLAKE2b-256 checksum
How to use checksums
a2b4e591309eeda68c8c6ff23a73768ea9af513f7b0e8ae66bf9f1c25a55efe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.2

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