Downloads · 30 days
142
13% of all-time downloads
JamieBradfield/qwen3.8-9b-hermes-function-calling-v1
qwen3.8-9b-hermes-function-calling-v1 is a text generation model from JamieBradfield. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
A QLoRA fine-tune of Empero/Qwen3.8-9B (Qwen3.5 hybrid-architecture distill, 9B dense, 262,144-token context) that specializes the model in Hermes-style tool-call envelopes: given a <tools XML schema in the system pro…
Downloads · 30 days
142
13% of all-time downloads
All-time downloads
1.1K
Public
Parameters
9.2B
18.4 GB on disk
Likes
5
Public
Click a slice to open those files.
.safetensors18.4 GB · 100%
From the Hugging Face model README
A QLoRA fine-tune of Empero/Qwen3.8-9B (Qwen3.5 hybrid-architecture distill,
9B dense, 262,144-token context) that specializes the model in Hermes-style
tool-call envelopes: given a <tools> XML schema in the system prompt, it
emits <tool_call><function=NAME><parameter=KEY>VALUE</parameter></function></tool_call>.
<tools> XML schemas in the system prompt (synthetic/curated tool-use
examples across ~2,000 tool names and dozens of domains)The fine-tune teaches the format: when the system prompt carries function
signatures inside <tools> </tools> XML tags (the training preamble), the model
reliably produces the exact Hermes envelope with correct function names and
parameters, with no prose around it.
Format-fidelity probe (45 fresh training-distribution rows, temp 0, identical prompts for both models):
| metric | fine-tune | base |
|---|---|---|
| fired | 43/45 (95.6%) | 39/45 (86.7%) |
| name match | 43/45 (95.6%) | 39/45 (86.7%) |
| args OK | 43/45 (95.6%) | 39/45 (86.7%) |
| format exact | 43/45 (95.6%) | 39/45 (86.7%) |
| emission kind | 43 <tool_call> envelopes | 39 native JSON |
The base model answers the same prompts in native Qwen JSON; the fine-tune emits the trained Hermes envelope.
terminal,
search_files, patch — none of which appear in training), both the
fine-tune and the base score 0/45. A 0.32% LoRA on 1,090 examples does
not teach when to decide to call a tool, especially for unseen tool names
and ambiguous user intent.tools parameter (the path most serving stacks use),
fine-tune and base perform identically — both fire valid calls at
~55–58 tok/s on this rig; the fine-tune shows no regression and no
measurable gain there, because the chat template already formats tool calls
server-side and the base was already competent.<tools> XML and parse <tool_call> envelopes from
the output (e.g. Hermes's mined-trajectory format, custom parsers).All scripts that produced this model are in scripts/:
| file | purpose |
|---|---|
qwen38_train.py | QLoRA training via Unsloth (274 steps, ~19.4 h on an RX 7700 XT 12 GB) |
convert_hf_hermes.py | ShareGPT training-example converter (the 1,090 rows) |
merge_qwen38.py | shard-streamed BF16 merge (vision tower dropped; embedding/lm_head resized with EOS-anchor rows; MTP head preserved) |
eval_fc_heldout.py | Tier-1a eval: held-out real-trajectory trigger test (the 0/45 result) |
probe2_fc.py | Tier-1b probe: format-fidelity on training-distribution prompts (the 43/45 result) |
subagent-qwen38-workloads.py + subagent-qwen38.sh | Tier-2 harness: Hermes system prompt + real tool schemas, workloads A–E |
The scripts carry the author's machine paths (F:/models/..., C:/AI/...) and
run on this rig's ROCm stack (Unsloth 2026.8.18, torch 2.11 ROCm, RX 7700 XT);
adjust paths for your environment.
Convert/quantize: llama-rocmfpx fork, convert_hf_to_gguf.py --outtype bf16
→ llama-quantize Q4_0_ROCMFP4_FAST (see GGUF repo).
Q4_0_ROCMFP4_FAST GGUF (ROCmFPX format, for AMD RDNA3 kernels) is published
in the companion repo. Note: ROCmFPX quants target AMD ROCm inference
(ROCMFP4 kernels); for portable use, convert from the BF16 merge here.
Base model and license inherited from Empero/Qwen3.8-9B (Apache-2.0). Training
data derived from Hermes agent trajectories; tool schemas rendered in the
Hermes <tools> XML format.