sgl-project/sglang · error · ValueError
embed_override_token_id requires embed_overrides to be provi
Error message
embed_override_token_id requires embed_overrides to be provided
What it means
Mirror of the pairing check: the request supplied embed_override_token_id but no embed_overrides list. SGLang requires both or neither, since a token id alone has nothing to attach.
Source
Thrown at python/sglang/srt/entrypoints/openai/serving_embedding.py:165
# Other types (should not happen but handle gracefully)
prompt_kwargs = {"input_ids": prompt}
# Resolve LoRA adapter from model parameter or explicit lora_path
lora_path = self._resolve_lora_path(request.model, request.lora_path)
# Validate pairing: both or neither must be provided
if (
request.embed_overrides is not None
and request.embed_override_token_id is None
):
raise ValueError(
"embed_override_token_id is required when embed_overrides is provided"
)
if (
request.embed_override_token_id is not None
and request.embed_overrides is None
):
raise ValueError(
"embed_override_token_id requires embed_overrides to be provided"
)
# Convert float lists to tensors; position resolution is deferred
# to the tokenizer manager (after tokenization for text inputs).
embed_overrides = convert_embeds_to_tensors(request.embed_overrides)
adapted_request = EmbeddingReqInput(
**prompt_kwargs,
rid=request.rid,
priority=request.priority,
routing_key=self.extract_routing_key(raw_request),
dimensions=request.dimensions,
lora_path=lora_path,
embed_override_token_id=request.embed_override_token_id,
embed_overrides=embed_overrides,
)
View on GitHub (pinned to 0132848349)
Solutions
- Provide embed_overrides when setting embed_override_token_id
- Remove embed_override_token_id if overrides aren't needed
Example fix
# before EmbeddingReqInput(input="x", embed_override_token_id=128000) # after EmbeddingReqInput(input="x") # or add embed_overrides=[...]
Defensive patterns
Strategy: validation
Validate before calling
if req.embed_override_token_id is not None: assert req.embed_overrides is not None
Type guard
def overrides_paired(req) -> bool:
return (req.embed_overrides is None) == (req.embed_override_token_id is None) Prevention
- Remove stale token ids when dropping overrides
- Centralize override request building
When it happens
Trigger: POST /v1/embeddings with embed_override_token_id set and embed_overrides None.
Common situations: Leftover token id field after removing overrides; client defaults injecting the id unconditionally.
Understand the failure class
Background: Missing required parameter errors: what 'X is required' and 'the required X param is missing' mean, and how to fix them — this error's family across 27 libraries.
Related errors
- embed_override_token_id is required when embed_overrides is
- cache_dit_params must be a dict, got {type(raw).__name__}.
- Unknown cache_dit_params keys: {sorted(unknown)}. Valid keys
- cache_dit_params['secondary'] must be a dict, got {type(seco
- Unknown cache_dit_params['secondary'] keys: {sorted(unknown)
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/957d132dc7387891.
Report an issue: GitHub.