Skip to content

vllm.entrypoints.serve.disagg.mm_serde

Encode/decode utilities for multimodal tensors and field metadata over JSON/HTTP, used by the disaggregated generate endpoint.

decode_mm_kwargs_item

decode_mm_kwargs_item(data: str) -> MultiModalKwargsItem

Deserialize a base64 string back to a MultiModalKwargsItem.

Source code in vllm/entrypoints/serve/disagg/mm_serde.py
def decode_mm_kwargs_item(data: str) -> MultiModalKwargsItem:
    """Deserialize a base64 string back to a MultiModalKwargsItem."""
    raw = pybase64.b64decode(data)
    return _decoder.decode(raw)

encode_mm_kwargs_item

encode_mm_kwargs_item(item: MultiModalKwargsItem) -> str

Serialize a MultiModalKwargsItem to a base64 string.

Source code in vllm/entrypoints/serve/disagg/mm_serde.py
def encode_mm_kwargs_item(item: MultiModalKwargsItem) -> str:
    """Serialize a MultiModalKwargsItem to a base64 string."""
    bufs = _encoder.encode(item)
    assert len(bufs) == 1, "All tensors should be inline"
    return pybase64.b64encode(bufs[0]).decode("ascii")