Skip to content

Commit 65a2b5e

Browse files
WindChimeRanclaude
andcommitted
feat(data): add Hermes function-calling dataset preset
Register NousResearch/hermes-function-calling-v1 (func_calling config) in the shared dataset registry. Since vllm-project#777 that registry is the single source of presets, so the entry serves both pipelines: off-policy `prepare-data` and the on-policy regeneration script's `--dataset`. Hermes func_calling is a function-calling SFT dataset (Apache-2.0) already in ShareGPT from/value form, so it needs no normalizer (like the existing sharegpt preset). Each row is a single user request followed by a multi-step agentic trajectory: system -> human -> gpt -> tool -> gpt in the common case. Tool calls and results are text-encoded (<tool_call>/<tool_response>) inline; the parallel `tools` column carries the JSON schemas as a JSON string. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LRRGNt2T9ktWyFRboNUZNU Signed-off-by: Ranran Haoran Zhang <ranzhang@redhat.com>
1 parent 548f9f7 commit 65a2b5e

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

docs/cli/response_regeneration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ The text presets from the shared dataset registry (`DATASET_CONFIGS` in `specula
124124
| `magpie` | `Magpie-Align/Magpie-Llama-3.1-Pro-300K-Filtered` | `train` |
125125
| `nemotron` | `nvidia/Llama-Nemotron-Post-Training-Dataset` | `chat` |
126126
| `open-perfectblend` | `mlabonne/open-perfectblend` | `train` |
127+
| `hermes-fc` | `NousResearch/hermes-function-calling-v1` | `train` |
127128

128129
The registry's multimodal preset, `sharegpt4v_coco`, is **off-policy only** and `--dataset` rejects it. Its turns carry image content parts, which the Chat Completions API rejects, and the pre-tokenized output row has nowhere to keep pixel data. Use it with `prepare-data`.
129130

src/speculators/data_generation/configs.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,11 @@ def _normalize_sharegpt4v_coco(example: dict) -> dict:
151151
hf_path="mlabonne/open-perfectblend",
152152
split="train",
153153
),
154+
# Multi-turn function-calling SFT
155+
"hermes-fc": DatasetConfig(
156+
name="hermes-fc",
157+
hf_path="NousResearch/hermes-function-calling-v1",
158+
subset="func_calling",
159+
split="train",
160+
),
154161
}

0 commit comments

Comments
 (0)