vllm.v1.spec_decode.vocab_mapping ¶
_detect_space_prefix(tokenizer) ¶
Detect the space-prefix character(s) by tokenizing a literal space.
Different tokenizer families mark word-initial spaces differently: BPE uses 'Ġ' (U+0120), SentencePiece uses '▁' (U+2581). Probing at runtime avoids hardcoding assumptions and correctly handles mixed-family pairs (e.g. BPE draft + SentencePiece target).
Source code in vllm/v1/spec_decode/vocab_mapping.py
_get_unk_token_id(tokenizer, role) ¶
Return a safe fallback token ID for out-of-intersection tokens.
Preferred: unk_token_id → eos_token_id → ValueError. Checking with is not None is required because token ID 0 is a valid (and common) unk ID on many tokenizers; using or 0 would silently mishandle those cases.