Files

25 lines
1.1 KiB
Python
Raw Permalink Normal View History

from vllm.inputs.data import SingletonPrompt
2025-10-24 16:49:19 +08:00
from vllm.inputs.parse import (
ParsedEmbedsPrompt,
ParsedSingletonPrompt,
ParsedStrPrompt,
ParsedTextPrompt,
ParsedTokensPrompt,
)
def parse_singleton_prompt_omni(prompt: SingletonPrompt) -> ParsedSingletonPrompt:
if isinstance(prompt, str):
return ParsedStrPrompt(type="str", content=prompt)
elif isinstance(prompt, dict):
# Type ignores are because mypy does not correctly infer the TypedDicts
# Pyright does succeed.
2025-10-24 16:49:19 +08:00
# Priority tokens: When both tokens and embeds exist, keep both and
# follow the tokens path
if "prompt_token_ids" in prompt:
2025-11-18 20:54:26 +08:00
return ParsedTokensPrompt(type="tokens", content=prompt) # type: ignore[typeddict-item]
elif "prompt_embeds" in prompt:
2025-11-18 20:54:26 +08:00
return ParsedEmbedsPrompt(type="embeds", content=prompt) # type: ignore[typeddict-item]
elif "prompt" in prompt:
return ParsedTextPrompt(type="text", content=prompt)
2025-11-18 20:54:26 +08:00
raise TypeError("inputs must be a string, TextPrompt, TokensPrompt, or EmbedsPrompt")