Instructions to use lzy510016411/qwen3.5-9b-distill-agent-instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lzy510016411/qwen3.5-9b-distill-agent-instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="lzy510016411/qwen3.5-9b-distill-agent-instruct") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("lzy510016411/qwen3.5-9b-distill-agent-instruct") model = AutoModelForMultimodalLM.from_pretrained("lzy510016411/qwen3.5-9b-distill-agent-instruct", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use lzy510016411/qwen3.5-9b-distill-agent-instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "lzy510016411/qwen3.5-9b-distill-agent-instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lzy510016411/qwen3.5-9b-distill-agent-instruct", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/lzy510016411/qwen3.5-9b-distill-agent-instruct
- SGLang
How to use lzy510016411/qwen3.5-9b-distill-agent-instruct with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "lzy510016411/qwen3.5-9b-distill-agent-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lzy510016411/qwen3.5-9b-distill-agent-instruct", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "lzy510016411/qwen3.5-9b-distill-agent-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lzy510016411/qwen3.5-9b-distill-agent-instruct", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use lzy510016411/qwen3.5-9b-distill-agent-instruct with Docker Model Runner:
docker model run hf.co/lzy510016411/qwen3.5-9b-distill-agent-instruct
Qwen3.5-9B-Distill-Agent-Instruct
Qwen3.5-9B-Distill-Agent-Instruct is an agent- and instruction-oriented distilled post-training of Qwen3.5-9B. It learns from a curated mixture of multi-model agent trajectories and is tuned for reliable tool-use decisions, structured function calling, multi-step agent execution, code-oriented tasks, and direct instruction following.
This repository provides the BF16 merged model weights. The trained rsLoRA adapter has already been merged into the base model, so no separate PEFT adapter is required for inference.
Highlights
- Agent-oriented post-training: trained on long-horizon interaction traces containing planning, tool calls, tool responses, intermediate state, recovery behavior, and final answers.
- Stronger tool-use boundaries: explicitly learns both when a tool is necessary and when a direct answer is preferable.
- Multiple and parallel function calling: improves coordination across several calls and concurrent tool execution patterns.
- Irrelevance handling: better resistance to invoking tools that do not match the user's request.
- Structured output: trained on explicit function schemas and tool-call serialization for easier integration with agent runtimes.
- Code and instruction following: the mixture includes cleaned code examples and general instruction trajectories alongside agent data.
- Long-context foundation: inherits Qwen3.5-9B's native 262,144-token context window.
- Multimodal architecture retained: the vision tower and aligner were frozen during this post-training stage; the reported gains focus on language-side Agent and Tool Call behavior.
BFCL Tool-Call Evaluation
The model was evaluated on BFCL (Berkeley Function Calling Leaderboard) after LoRA post-training. The table below reports the supplied full-run results. Base is the original Qwen3.5-9B checkpoint and Distill Agent Instruct is the merged post-trained model. Δ is the absolute change in percentage points.
| BFCL category | Samples | Base | Distill Agent Instruct | Δ |
|---|---|---|---|---|
| Simple Python | 400 | 92.00% | 91.50% | -0.50 pp |
| Multiple | 200 | 94.00% | 96.00% | +2.00 pp |
| Parallel | 200 | 85.50% | 90.50% | +5.00 pp |
| Parallel Multiple | 200 | 87.00% | 86.00% | -1.00 pp |
| Irrelevance | 240 | 83.75% | 89.17% | +5.42 pp |
| BFCL Non-Live Overall | — | 74.29% | 75.75% | +1.46 pp |
The most substantial improvements appear in parallel function calling and irrelevance detection. This is consistent with the training mixture's emphasis on multi-action trajectories and balanced call-versus-answer decisions. Simple Python and parallel-multiple cases show small regressions, so the result should be read as a capability trade-off rather than uniform improvement across every BFCL category.
Latency in the reported evaluation
| Model | Mean latency | P95 latency |
|---|---|---|
| Qwen3.5-9B Base | 2.96 s | 6.07 s |
| Qwen3.5-9B-Distill-Agent-Instruct | 2.54 s | 5.60 s |
Under the supplied test setup, mean latency decreased by approximately 14.2%, while P95 latency decreased by approximately 7.7%. Latency depends on serving engine, hardware, batching, generation parameters, and output length; these figures should only be compared within the same evaluation setup.
Training Dataset
Post-training used Fable5 · GPT-5.5 · Opus-4.7 Mixed Agent Traces, an author-curated mixture containing:
- Claude Fable5 long-horizon agent trajectories;
- GPT-5.5 Agent, GLM-5.2 Agent, and Qwen3.7-Max PI traces;
- LiteLLM step-level trajectories;
- Claude Opus trace-inversion examples;
- Glaive and Hermes function-calling conversations;
- rebalanced when-to-call supervision;
- cleaned code instruction data.
The public release contains 20,409 records, 211,580 message events, and 67,865 explicit tool-call steps. Its dedicated processing pipeline includes schema normalization, trajectory-integrity checks, meaningful step slicing, judge-gated filtering, source-aware sampling, structural/content deduplication, and tool-use rebalancing.
LoRA Post-Training Configuration
Training used rank-stabilized LoRA (rsLoRA) through PEFT. The adapter targeted all linear layers in model.language_model, while the vision tower and multimodal aligner remained frozen.
| Parameter | Value |
|---|---|
| Method | PEFT LoRA with rsLoRA enabled |
Rank (r) |
64 |
| Alpha | 128 |
| Dropout | 0.05 |
| Bias | None |
| Target scope | All language-model linear layers |
| Target projections | q_proj, k_proj, v_proj, o_proj, out_proj, in_proj_a, in_proj_b, in_proj_z, in_proj_qkv, gate_proj, up_proj, down_proj |
| DoRA / QA-LoRA | Disabled / Disabled |
| Vision tower / aligner | Frozen / Frozen |
| Training and merge precision | BF16 |
Optimization setup
| Parameter | Value |
|---|---|
| Epochs | 3 |
| Maximum sequence length | 32,768 tokens |
| Learning rate | 1e-4 |
| Scheduler | Cosine |
| Warmup ratio | 0.1 |
| Weight decay | 0.1 |
| Per-device micro-batch size | 3 |
| Gradient accumulation | 2 |
| Maximum gradient norm | 1.0 |
| Optimizer | Fused AdamW |
| Runtime | BF16, gradient checkpointing, Liger Kernel, DeepSpeed ZeRO-3 |
Base Architecture
Qwen3.5-9B-Distill-Agent-Instruct retains the compact hybrid vision-language architecture of Qwen3.5-9B:
- 9B language-model parameters, 32 layers, and hidden dimension 4096;
- hybrid Gated DeltaNet and Gated Attention blocks;
- native 262,144-token context window;
- Qwen3.5 tokenizer, chat template, and multimodal input stack;
- Multi-Token Prediction support inherited from the base checkpoint.
For full architectural details and base-model benchmark results, refer to the Qwen3.5-9B model card.
Serving
The model can be served directly with an OpenAI-compatible endpoint. Use a recent vLLM build with Qwen3.5 support:
vllm serve lzy510016411/qwen3.5-9b-distill-agent-instruct \
--port 8000 \
--tensor-parallel-size 1 \
--max-model-len 262144 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder
If memory is limited, reduce --max-model-len. For text-only workloads, add --language-model-only to skip vision profiling and reserve more memory for KV cache.
The included chat template supports normal assistant responses and structured tool calls. Applications should pass tool definitions through the serving framework's OpenAI-compatible tools field and keep tool-call/tool-response ordering intact across turns.
Intended Use
This checkpoint is intended for research and application development involving instruction following, agent orchestration, function calling, tool selection, multi-step task execution, and coding assistance.
Tool execution should remain sandboxed and subject to application-level authorization. BFCL results measure structured function-calling behavior and do not establish factual correctness, safety, or suitability for autonomous high-stakes actions.
License and Attribution
This derivative checkpoint follows the base model's Apache 2.0 license. See the Qwen3.5-9B license for details.
@misc{qwen3.5,
title = {{Qwen3.5}: Towards Native Multimodal Agents},
author = {{Qwen Team}},
month = {February},
year = {2026},
url = {https://qwen.ai/blog?id=qwen3.5}
}
- Downloads last month
- -