SigLIP example add chat_template (#29902)

Signed-off-by: piood <2477084691@qq.com>
This commit is contained in:
Yu Jiaqi
2025-12-04 00:12:58 +08:00
committed by GitHub
parent 9bcf92295a
commit 9ae3c55b10
2 changed files with 29 additions and 9 deletions

View File

@@ -150,7 +150,8 @@ def run_siglip(client: OpenAI, model: str):
Start the server using:
vllm serve google/siglip-base-patch16-224 \
--runner pooling
--runner pooling \
--chat-template template_basic.jinja
"""
response = create_chat_embeddings(

View File

@@ -1139,11 +1139,19 @@ def validate_chat_template(chat_template: Path | str | None):
not any(c in chat_template for c in JINJA_CHARS)
and not Path(chat_template).exists()
):
raise ValueError(
f"The supplied chat template string ({chat_template}) "
f"appears path-like, but doesn't exist!"
# Try to find the template in the built-in templates directory
from vllm.transformers_utils.chat_templates.registry import (
CHAT_TEMPLATES_DIR,
)
builtin_template_path = CHAT_TEMPLATES_DIR / chat_template
if not builtin_template_path.exists():
raise ValueError(
f"The supplied chat template string ({chat_template}) "
f"appears path-like, but doesn't exist! "
f"Tried: {chat_template} and {builtin_template_path}"
)
else:
raise TypeError(f"{type(chat_template)} is not a valid chat template type")
@@ -1173,12 +1181,23 @@ def _load_chat_template(
JINJA_CHARS = "{}\n"
if not any(c in chat_template for c in JINJA_CHARS):
msg = (
f"The supplied chat template ({chat_template}) "
f"looks like a file path, but it failed to be "
f"opened. Reason: {e}"
# Try to load from the built-in templates directory
from vllm.transformers_utils.chat_templates.registry import (
CHAT_TEMPLATES_DIR,
)
raise ValueError(msg) from e
builtin_template_path = CHAT_TEMPLATES_DIR / chat_template
try:
with open(builtin_template_path) as f:
return f.read()
except OSError:
msg = (
f"The supplied chat template ({chat_template}) "
f"looks like a file path, but it failed to be opened. "
f"Tried: {chat_template} and {builtin_template_path}. "
f"Reason: {e}"
)
raise ValueError(msg) from e
# If opening a file fails, set chat template to be args to
# ensure we decode so our escape are interpreted correctly