Instructions to use Ebumping/Qwen3-32B-Qwople with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Ebumping/Qwen3-32B-Qwople with PEFT:
Task type is invalid.
- HERMES
How to use Ebumping/Qwen3-32B-Qwople with HERMES:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Unsloth Studio
How to use Ebumping/Qwen3-32B-Qwople with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Ebumping/Qwen3-32B-Qwople to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Ebumping/Qwen3-32B-Qwople to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Ebumping/Qwen3-32B-Qwople to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="Ebumping/Qwen3-32B-Qwople", max_seq_length=2048, )
Qwen3-32B-Qwople
Qwen3-32B fine-tuned for autonomous agentic tool use with inline reasoning. Trained via two-stage QLoRA on 44,672 multi-turn tool-call conversations with <think> reasoning traces.
Architecture
Qwen3-32B (base) → [+Fable distill LoRA, merged] → [+Action chain SFT LoRA] = Qwople
Stage 1 — Qwable (Fable Distill): Qwen3-32B base + LoRA trained on 1,502 high-quality reasoning examples (Fable-style inline reasoning before every action). Adapter merged into base.
Stage 2 — Qwople (Action Chain SFT): Merged Qwable + new LoRA trained on 44,672 real agentic trajectories with tool calls, error recovery, and <think> reasoning.
Training Details
| Parameter | Value |
|---|---|
| Base model | Qwen/Qwen3-32B (4-bit QLoRA via Unsloth) |
| Fable adapter | Ebumping/Qwen3-32B-Fable-Distill (merged before Stage 2) |
| LoRA rank (r) | 64 |
| LoRA alpha (α) | 128 |
| LoRA dropout | 0.05 |
| Target modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| Optimizer | adamw_8bit |
| Learning rate | 2e-5 (cosine schedule, 50 warmup steps) |
| Batch size | 1 × 16 grad accum (effective 16) |
| Precision | bf16 |
| Max seq length | 4096 |
| Epochs planned | 3 |
| Checkpoint | Step 3400 / Epoch 1.22 (early stop) |
| Hardware | NVIDIA A100 80GB (Vast.ai) |
Loss Curve
| Step | Epoch | Loss |
|---|---|---|
| 10 | 0.004 | 1.314 |
| 100 | 0.036 | 0.892 |
| 500 | 0.179 | 0.521 |
| 1000 | 0.358 | 0.412 |
| 2000 | 0.717 | 0.338 |
| 3000 | 1.075 | 0.298 |
| 3400 | 1.218 | 0.290 |
Training was stopped at step 3400 (epoch 1.22 of 3 planned). Loss had plateaued around 0.29.
Training Data
Final SFT dataset: qwople_v3_sft.jsonl — 44,672 examples
| Source | Count | % | Description |
|---|---|---|---|
interstellarninja/hermes_reasoning_tool_use |
35,524 | 79.5% | Hermes-format multi-turn with mandatory <think> + <tool_call> |
lambda/hermes-agent-reasoning-traces |
7,646 | 17.1% | Kimi-config deep Hermes Agent traces |
| Fable reasoning (preserved) | 1,502 | 3.4% | Original Qwable reasoning examples (anti-forgetting) |
96.6% of examples contain <think> reasoning traces before tool calls.
Data pipeline
- Download (
qwople_download.py): 5 source datasets pulled — terminalbench-trajectories, APIGen-MT-5k, code-act, smolagents traces, hermes-function-calling-v1 - Convert (
qwople_convert.py): Unified to Hermes/OpenAI multi-turn format with<tool_call>XML +<tool_response>tags - V3 refinement (
qwople_v3_data.py): Replaced synthetic reasoning injection with REAL<think>traces from dedicated reasoning datasets. Conversations >50 messages truncated to first 5 + last 20 turns.
Earlier v1 dataset (not used for final model)
24,063 examples from terminalbench (8K), APIGen (5K), code-act (5K), smolagents (1.7K), hermes-fc (1.9K). Used template-based reasoning injection (qwople_inject_reasoning.py) — replaced by v3's real traces.
Known Quirks
⚠️ Read these before deploying. Qwople has several format inconsistencies that affect inference.
1. Inconsistent tool-call token emission
The model sometimes emits <tool_call> as a special token (correctly parsed by vLLM's --tool-call-parser hermes) and sometimes as raw text tokens in the content field. This means:
- vLLM with
--tool-call-parser hermes: Works for ~60% of tool calls. The rest appear as raw<tool_call>...</tool_call>text incontent. - Recommendation: Use a fallback regex parser on
contentto catch the raw-token emissions. The enhanced chat UI (qwople_backup.tar.gz) includes this fallback.
2. --reasoning-parser breaks --tool-call-parser
Do NOT use --reasoning-parser deepseek_r1 together with --tool-call-parser hermes in vLLM. The reasoning parser consumes <think> tokens and adjacent tokens, which prevents the hermes tool parser from seeing the <tool_call> block. Tool calling silently fails (returns empty tool_calls: []).
Fix: Use --tool-call-parser hermes alone (no reasoning parser). The <think> blocks appear inline in content and can be parsed client-side.
3. Malformed JSON in tool calls
~5% of tool call emissions have malformed JSON — typically extra trailing } characters or unbalanced braces. The fallback parser needs progressive brace-trimming to handle this.
4. System prompt dependency
Without a system prompt that explicitly describes available tools, the model often answers directly without calling tools. A system prompt like "You have access to tools. Use them when appropriate." is required for reliable tool use.
5. Over-eager reasoning
The model produces verbose <think> blocks (often 200-500 tokens) before even simple actions. This is a feature of the Fable reasoning style, not a bug — but it adds latency.
6. Conversation truncation artifacts
Training conversations were truncated to first 5 + last 20 messages for long trajectories. The model may lose context in the middle of very long multi-turn conversations.
vLLM Server Configuration
/root/vllm-env/bin/python -m vllm.entrypoints.openai.api_server \
--model /path/to/qwople_merged \
--served-model-name qwople-v2 \
--port 10100 \
--host 0.0.0.0 \
--trust-remote-code \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--max-model-len 32768 \
--gpu-memory-utilization 0.90
venv dependencies (vLLM 0.10.2 on CUDA 12.8)
vllm==0.10.2
prometheus-fastapi-instrumentator<8.0.0
fastapi<0.137
starlette<1.0
transformers>=4.56,<5.0
huggingface-hub>=0.34,<1.0
torch==2.8.0+cu128
GGUF Quants
| File | Size | BPW |
|---|---|---|
Qwen3-32B-Qwople-Q4_K_M |
19 GB | 4.82 |
Qwen3-32B-Qwople-Q8_0 |
33 GB | 8.50 |
Available at Ebumping/Qwen3-32B-Qwople-GGUF.
Chat Template
Uses the standard Qwen3 chat template with Hermes tool-call format:
<tool_call>
{"name": "<function-name>", "arguments": <args-json-object>}
</tool_call>
Tool responses use <tool_response> tags wrapped in user role turns.
Full chat_template.jinja is included in the repo.
Related Repos
| Repo | Description |
|---|---|
| Ebumping/Qwen3-32B-Qwople | Full merged model (FP16, ~66GB) |
| Ebumping/Qwen3-32B-Qwople-LoRA | This repo — LoRA adapter + checkpoint-3400 |
| Ebumping/Qwen3-32B-Qwople-GGUF | GGUF quants (Q4_K_M + Q8_0) + backup scripts |
Training Scripts
All training/data scripts are preserved in qwople_backup.tar.gz on the GGUF repo:
qwople_download.py— Downloads 5 source datasetsqwople_convert.py— Converts to unified Hermes formatqwople_v3_data.py— Builds final v3 dataset with real reasoning tracesqwople_inject_reasoning.py— v1 reasoning injection (deprecated, kept for reference)qwople_train.py/qwople_train_v2.py— Unsloth QLoRA training scriptsqwople_generate_opus.py— Claude Opus trajectory generator (for future data)qwople_chat_enhanced.py— Enhanced chat UI with tool-call fallback parserstart_vllm.sh— vLLM startup script
Framework Versions
- PEFT 0.19.1
- Unsloth (latest as of June 2026)
- TRL (SFTTrainer)
- Transformers ≥4.56, <5.0
Training Data Sources & Citations
Final v3 training set (44,672 examples)
These datasets were directly used in the final fine-tuning:
interstellarninja/hermes_reasoning_tool_use — 35,524 examples (79.5%) Multi-turn conversations with mandatory
<think>reasoning traces before every<tool_call>. Hermes format. https://huggingface.co/datasets/interstellarninja/hermes_reasoning_tool_uselambda/hermes-agent-reasoning-traces — 7,646 examples (17.1%) Deep Hermes Agent traces generated with Kimi config. Multi-step tool use with real reasoning. https://huggingface.co/datasets/lambda/hermes-agent-reasoning-traces
Fable reasoning examples — 1,502 examples (3.4%) Original Qwable/Fable distillation data, preserved in the mix to prevent catastrophic forgetting of reasoning style. Derived from Ebumping/Qwen3-32B-Fable-Distill
Earlier pipeline sources (downloaded, used for v1 data, superseded by v3)
These datasets were part of the data pipeline exploration. They informed the final dataset design but were not in the final v3 training set:
yoonholee/terminalbench-trajectories — 8,000 trajectories extracted Real Claude Opus / GPT agent traces with tool calls, errors, and recovery on terminal tasks. https://huggingface.co/datasets/yoonholee/terminalbench-trajectories
Salesforce/APIGen-MT-5k — 5,000 examples Verified multi-turn tool dialogues. https://huggingface.co/datasets/Salesforce/APIGen-MT-5k
xingyaoww/code-act-78k — 5,000 examples extracted Code-action agent traces (78K total dataset, filtered subset used). https://huggingface.co/datasets/xingyaoww/code-act-78k
smolagents/training-traces — 1,657 examples HF code-agent traces with tool execution. https://huggingface.co/datasets/smolagents/training-traces
NousResearch/hermes-function-calling-v1 — 1,893 examples Hermes function-calling format reference data. https://huggingface.co/datasets/NousResearch/hermes-function-calling-v1
r0b0tlab/deepseek-hermes-reasoning-traces — evaluated, not in final mix DeepSeek V4 Pro reasoning traces (considered but v3 used interstellarninja instead for format consistency). https://huggingface.co/datasets/r0b0tlab/deepseek-hermes-reasoning-traces
BibTeX
@dataset{interstellarninja_hermes_reasoning,
title = {Hermes Reasoning Tool Use},
author = {interstellarninja},
url = {https://huggingface.co/datasets/interstellarninja/hermes_reasoning_tool_use}
}
@dataset{lambda_hermes_agent_traces,
title = {Hermes Agent Reasoning Traces},
author = {lambda},
url = {https://huggingface.co/datasets/lambda/hermes-agent-reasoning-traces}
}
@dataset{yoonholee_terminalbench,
title = {TerminalBench Trajectories},
author = {Yoonho Lee},
url = {https://huggingface.co/datasets/yoonholee/terminalbench-trajectories}
}
@dataset{salesforce_apigen,
title = {APIGen-MT-5k: Verified Multi-Turn Tool Dialogues},
author = {Salesforce},
url = {https://huggingface.co/datasets/Salesforce/APIGen-MT-5k}
}
@dataset{xingyaoww_codeact,
title = {CodeAct: Code Action Agent Traces},
author = {Xingyao Wang},
url = {https://huggingface.co/datasets/xingyaoww/code-act-78k}
}
@dataset{nousresearch_hermes_fc,
title = {Hermes Function Calling v1},
author = {Nous Research},
url = {https://huggingface.co/datasets/NousResearch/hermes-function-calling-v1}
}
Author
Ebumping (Dylan Jeffery)
- Downloads last month
- -
Model tree for Ebumping/Qwen3-32B-Qwople
Base model
Qwen/Qwen3-32B