Add vLLM v0.18.1 source tree with KV transfer abort fix
third_party/vllm/ now tracked in git for direct patch management.
Based on vLLM v0.18.1 release with one patch applied:
vllm/v1/core/sched/scheduler.py:
Replace fatal assert with graceful skip when KV transfer callback
arrives for an already-aborted request during PD disaggregated serving.
Future vLLM modifications should be made directly in third_party/vllm/
and committed normally. The patches/ directory is kept as documentation
of what changed from upstream.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
54
third_party/vllm/examples/tool_chat_template_glm4.jinja
vendored
Normal file
54
third_party/vllm/examples/tool_chat_template_glm4.jinja
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
{%- set counter = namespace(index=0) -%}
|
||||
{%- if not tools is defined %}
|
||||
{%- set tools = none %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if messages and messages[0]['role'] == 'system' %}
|
||||
{%- set system_message = messages[0]['content']|trim %}
|
||||
{%- set messages = messages[1:] %}
|
||||
{%- else %}
|
||||
{%- set system_message = "You are a helpful assistant." %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if tools is not none %}
|
||||
{%- set tool_instruction %}
|
||||
You have access to the following tools. When you need to call a tool, you MUST use the following format:
|
||||
|
||||
<tool_call>function_name
|
||||
<arg_key>parameter_name</arg_key>
|
||||
<arg_value>parameter_value</arg_value>
|
||||
</tool_call>
|
||||
|
||||
Important rules:
|
||||
- Always wrap tool calls with <tool_call>...</tool_call> tags
|
||||
- Put the function name on the first line after <tool_call>
|
||||
- Use <arg_key> and <arg_value> tags for each parameter
|
||||
- If a parameter value is a string, keep it as-is. If it's a number or boolean, convert it appropriately
|
||||
- You can make multiple tool calls if needed
|
||||
- If no tool is suitable, respond with regular text
|
||||
|
||||
Available tools:
|
||||
{% endset %}
|
||||
{{- tool_instruction + "\n\n" }}
|
||||
{%- for t in tools %}
|
||||
{{- t | tojson(indent=4) }}
|
||||
{{- "\n\n" }}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
|
||||
{%- for message in messages -%}
|
||||
{%- if message['role'] == 'user' -%}
|
||||
{{- '[Round ' + counter.index|string + ']\n问:' + message['content'] -}}
|
||||
{%- set counter.index = counter.index + 1 -%}
|
||||
{%- endif -%}
|
||||
{%- if message['role'] == 'assistant' -%}
|
||||
{{- '\n答:' + message['content'] -}}
|
||||
{%- if (loop.last and add_generation_prompt) or not loop.last -%}
|
||||
{{- '\n' -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
|
||||
{%- if add_generation_prompt and messages[-1]['role'] != 'assistant' -%}
|
||||
{{- '\n答:' -}}
|
||||
{%- endif -%}
|
||||
Reference in New Issue
Block a user