• Stefy Lanza (nextime / spora )'s avatar
    read the chat template to tell qwen3_xml tool calls from hermes (v0.4.61) · a9e7ed0e
    Stefy Lanza (nextime / spora ) authored
    A pod serving Qwen3.8-27B logged, on every single tool-using request,
    
      hermes_tool_parser ... json.decoder.JSONDecodeError: Expecting value
    
    on text that begins
    
      <tool_call>
      <function=agenda_udienze>
      <parameter=dal>2026-10-21</parameter>
    
    vLLM reads that with `qwen3_xml`; `hermes` expects JSON inside <tool_call> and
    cannot. Buffered, coderai's own parser rescued the call out of the text, which
    is why this stayed invisible. STREAMED, vLLM had already consumed those tokens
    into tool-call deltas it then failed to emit, so the call was simply gone and
    the stream ended at </think>.
    
    A name cannot separate the two syntaxes -- Qwen2.5 and the Hermes-style
    finetunes genuinely are hermes, and qwen3_xml does not read JSON at all -- so
    the mapping cannot just be changed. The model's TEMPLATE decides instead: it is
    the model's own statement of what it emits, and this one says
    
      "If you choose to call a function ONLY reply in the following format:
       <tool_call>\n<function=example_function_name>\n<parameter=...>"
    
    with no JSON form anywhere in its 8,952 bytes.
    
    Read, not guessed, and never fatal: a repo id is fetched rather than looked up
    in the cache (on a rented pod nothing is cached the first time), an unreadable
    template leaves the name table's answer alone, and every failure path returns
    "" -- a pod that will not launch is worse than one that reads tool calls with
    the wrong parser. An explicit tool_call_parser still wins, "off" included.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01S8LAP3ueNzQJtwzhgVbq66
    a9e7ed0e
Name
Last commit
Last update
..
__init__.py Loading commit data...
_film_net.py Loading commit data...
_rife_ifnet.py Loading commit data...
app.py Loading commit data...
archive.py Loading commit data...
audio_backends.py Loading commit data...
audio_clean.py Loading commit data...
audio_gen.py Loading commit data...
audio_stems.py Loading commit data...
audiocraft_worker.py Loading commit data...
canary_worker.py Loading commit data...
characters.py Loading commit data...
chunking.py Loading commit data...
colibri_worker.py Loading commit data...
compose.py Loading commit data...
crisperwhisper_worker.py Loading commit data...
custom_pipelines.py Loading commit data...
diarization.py Loading commit data...
ds4_kv_janitor.py Loading commit data...
ds4_worker.py Loading commit data...
embeddings.py Loading commit data...
environments.py Loading commit data...
faceswap.py Loading commit data...
fastlog.py Loading commit data...
h3_worker.py Loading commit data...
host_worker.py Loading commit data...
hub_compat.py Loading commit data...
images.py Loading commit data...
k3_worker.py Loading commit data...
kt_worker.py Loading commit data...
lipsync.py Loading commit data...
log.py Loading commit data...
longcat_worker.py Loading commit data...
loop_watch.py Loading commit data...
lora_archs.py Loading commit data...
loras.py Loading commit data...
melotts_worker.py Loading commit data...
model_test.py Loading commit data...
models_transfer.py Loading commit data...
mux_remote.py Loading commit data...
ocr.py Loading commit data...
parler_worker.py Loading commit data...
pipelines.py Loading commit data...
pod_http.py Loading commit data...
pod_tls.py Loading commit data...
podlog.py Loading commit data...
prompt_cache.py Loading commit data...
pyannote_worker.py Loading commit data...
ratelimit.py Loading commit data...
remote_gateway.py Loading commit data...
rerank.py Loading commit data...
runpod_client.py Loading commit data...
runpod_fleet_share.py Loading commit data...
runpod_ledger.py Loading commit data...
runpod_worker.py Loading commit data...
spatial.py Loading commit data...
speaker_embeddings.py Loading commit data...
speaker_registry.py Loading commit data...
state.py Loading commit data...
stt_backends.py Loading commit data...
text.py Loading commit data...
thread_pool.py Loading commit data...
transcriptions.py Loading commit data...
tts.py Loading commit data...
tts_backends.py Loading commit data...
uploads.py Loading commit data...
urlutils.py Loading commit data...
video.py Loading commit data...
vllm_worker.py Loading commit data...
voice_clone.py Loading commit data...
voice_convert.py Loading commit data...
vpr_salad_server.py Loading commit data...
xtts_worker.py Loading commit data...