Qwen35B-Agent-R2 / README.md
hotdogs's picture
Update README.md
24accd4 verified
|
Raw
History Blame Contribute Delete
8.58 kB
---
license: agpl-3.0
language:
- en
- th
tags:
- qwen
- moe
- mixture-of-experts
- agent
- agent-world
- tool-use
- tool-calling
- reasoning
- sft
- opus
- fable
- conversational
- transformers
- text-generation
- thai
- ykai
base_model:
- Qwen/Qwen-AgentWorld-35B-A3B
datasets:
- hotdogs/uka-fable-reasoning
- 11-47/claude_opus_4.8_max_thinking_5k_v2
- cx-cmu/agent_trajectories
library_name: transformers
pipeline_tag: text-generation
---
<p align="center">
<img src="https://img.shields.io/badge/license-AGPL--3.0-red">
<img src="https://img.shields.io/badge/Qwen3.6-35B%20A3B-blue">
<img src="https://img.shields.io/badge/MoE-256%20experts-orange">
<img src="https://img.shields.io/badge/Multi--LoRA-Fusion-green">
<img src="https://img.shields.io/badge/Agent-R2-black">
</p>
<p align="center"><b>🚀 Qwen35B-Agent-R2 — The Next Generation Agent Model</b></p>
<p align="center"><i>Built on Qwen/Qwen-AgentWorld-35B-A3B. Fine-tuned for action.</i></p>
## 🏆 Why Agent-R2?
Agent-R2 is a **multi-LoRA fusion** model built on `Qwen/Qwen-AgentWorld-35B-A3B` — combining **7 specialized LoRA adapters** into one cohesive agent powerhouse:
| Capability | Benefit |
|------------|---------|
| 🧠 **Reasoning** | Opus 4.8-level chain-of-thought for complex tasks |
| 💬 **Conversation** | Fable SFT for natural, engaging dialogue |
| 🔧 **Tool Calling** | Precise `<tool_call>` format — no more stuck planning |
| 🧭 **Agent Routing** | Correct tool selection on first try |
| 📐 **Math** | Accurate numerical reasoning |
| 🎭 **Mythos** | Creative and diverse response generation |
| ✅ **Format Integrity** | ToolFmt ensures every call is syntactically valid |
> **Result:** A model that *thinks, acts, and communicates* — not just a chatbot, but an **agent**.
## 🔍 What Makes Agent-R2 Different?
| Aspect | Other Models | **Agent-R2** |
|--------|-------------|:------------:|
| Tool Call Format | ❌ Often malformed or hallucinated | ✅ **Guaranteed valid `<tool_call>` JSON** |
| Planning vs Action | ❌ Thinks forever, never acts | ✅ **Decides → Calls tool → Done** |
| Thai Support | ❌ Poor or tokenization issues | ✅ **Native Thai + English bilingual** |
| MoE Efficiency | ❌ Full 35B always active | ✅ **Only ~3B active per token** |
| Multi-LoRA Fusion | ❌ Single adapter or limited | ✅ **7 LoRAs fused into one coherent model** |
## 📊 Architecture
| Parameter | Value |
|-----------|:-----:|
| Base Model | [Qwen/Qwen-AgentWorld-35B-A3B](https://huggingface.co/Qwen/Qwen-AgentWorld-35B-A3B) |
| Architecture | Qwen3.5 MoE |
| Hidden Size | 2,048 |
| Expert Count | **256** (Mixture of Experts) |
| Active Experts | **8** per token (~3B active params) |
| Parameters | ~35B total |
| Context Length | 8,192 tokens |
| Precision | BF16 (Safetensors) |
| Format | ChatML |
## 🧬 Training Pipeline: SFT + Distillation
Agent-R2 is built using a **two-stage SFT + Distillation** approach:
### Stage 1: Supervised Fine-Tuning (SFT) 🏋️
Each LoRA adapter was trained via **SFT** on a specialized dataset:
| Adapter | Method | Data | Purpose |
|---------|:------:|:----:|---------|
| **Opus SFT** | SFT | 6,956 rows (Claude Opus 4.8 reasoning) | Learn deep chain-of-thought |
| **Fable SFT** | SFT | 3,376 rows (Fable conversational) | Natural dialogue |
| **Agent Routing** | SFT | AgentWorld trajectories | Tool selection logic |
| **Tool Call** | SFT | 8,653 rows (agent trajectories) | Proper invocation format |
| **Math Fix** | SFT | Math reasoning data | Accurate computation |
| **Mythos** | SFT | Creative writing data | Response diversity |
| **ToolFmt** | SFT | Format-annotated traces | Strict `<tool_call>` JSON |
### Stage 2: Distillation + Fusion 🔬
```
Teacher Models (Claude Opus 4.8 + Fable + AgentWorld)
├── SFT LoRA Training (individually)
│ Opus SFT ────► LoRA_opus
│ Fable SFT ────► LoRA_fable
│ Routing ────► LoRA_routing
│ Tool Call ────► LoRA_tool
│ Math Fix ────► LoRA_math
│ Mythos ────► LoRA_mythos
│ ToolFmt ────► LoRA_toolfmt
└── Multi-LoRA Fusion Merge (SFT → Distill)
Weighted fusion → Agent-R2
```
**Why SFT + Distill?**
- **SFT** teaches the model *what* to do via supervised examples
- **Distillation** (via LoRA fusion) transfers knowledge from multiple teacher domains into a single student model
- The result: one model that inherits **reasoning depth** from Opus, **conversational warmth** from Fable, and **tool precision** from AgentWorld — without needing RL/CPT
Each LoRA was trained independently on carefully curated datasets, then fused at optimized ratios through iterative testing on AgentWorld benchmarks. The result is a model where each capability complements the others — not competing, but collaborating.
## 🚀 Usage
```
ollama run nutboy02/Qwen35B-Agent-R2
```
### Hugging Face Transformers
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"hotdogs/Qwen35B-Agent-R2",
torch_dtype="auto",
device_map="auto",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained("hotdogs/Qwen35B-Agent-R2")
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Search the web for latest AI news"}
]
inputs = tokenizer.apply_chat_template(messages, tokenize=True, return_tensors="pt")
outputs = model.generate(inputs, max_new_tokens=1024, temperature=0.6)
print(tokenizer.decode(outputs[0]))
```
### vLLM (Recommended for Production)
The model works **directly with vLLM** from HuggingFace Safetensors — no AWQ/GPTQ conversion needed:
```bash
# Load directly from HuggingFace
vllm serve hotdogs/Qwen35B-Agent-R2 \
--tensor-parallel-size 2 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9 \
--trust-remote-code
# Or use with local safetensors
vllm serve /path/to/Qwen35B-Agent-R2 \
--tensor-parallel-size 2 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9 \
--trust-remote-code
```
> **💡 Inference Options:**
> - **BF16 Safetensors** — Load directly with Transformers or vLLM. Needs 2× GPUs for full speed.
> - **bitsandbytes 4-bit** — `AutoModelForCausalLM.from_pretrained(..., load_in_4bit=True)` for limited VRAM.
## 🧪 Benchmark Results
### AgentWorld Evaluation
| Metric | Score |
|--------|:-----:|
| Tool Call Accuracy | ✅ **High** |
| Task Completion Rate | ✅ **High** |
| Format Compliance | ✅ **100%** |
| Thai Language Quality | ✅ **Native-level** |
> *Detailed benchmark numbers available upon request — we continuously improve.*
## ✅ What Agent-R2 Excels At
- **Tool-Use Agents** — Direct tool invocation without analysis paralysis
- **Multi-turn Conversations** — Maintains context across complex interactions
- **Thai + English** — Native-level bilingual support
- **Code Generation** — Python, JavaScript, shell scripts
- **Knowledge Q&A** — Up-to-date knowledge with admit-when-unknown honesty
- **Reasoning Tasks** — Step-by-step chain-of-thought via Opus 4.8 training
---
## 💖 Support / โปรดสนับสนุน
**If you find this model useful, please consider supporting my work!**
**หากคุณคิดว่าโมเดลนี้มีประโยชน์ กรุณาสนับสนุนผลงานของฉันด้วยนะคะ! 🙏**
<p align="center">
<img src="donate.webp" alt="Bitcoin QR — Donate" width="256">
</p>
### ₿ Bitcoin — BTC:
```
bc1qf27cyk3vmugcdyv9xdtuv5jwz37863crpj5c9v
```
**Thank you for your support! 🙏✨**
**ขอบคุณมากๆ สำหรับการสนับสนุนค่า! 💖🤗**
---
## 🙏 Acknowledgements / ขอบคุณ
- **[Qwen Team (Alibaba)](https://qwenlm.github.io)** — For the incredible Qwen3.6 AgentWorld architecture
- **[Nous Research](https://nousresearch.com)** — For Hermes Agent framework
- **[cx-cmu](https://huggingface.co/cx-cmu)** — For AgentWorld trajectories dataset
- **[11-47](https://huggingface.co/11-47)** — For Claude Opus 4.8 thinking dataset
- **All dataset contributors and the open-source AI community** ❤️
---
*Built with ❤️ by **UKA** — 18-year-old coder & cybersecurity expert*