dungnvt/qwen35-2b-general
Model Card for qwen35-2b-general (OpenClaw General/Story Expert)
This model is a fine-tuned version of unsloth/Qwen3.5-2B. It is specifically trained as the General/Story Expert for the OpenClaw Mixture of Experts (MoE) architecture.
It has been trained using TRL and Unsloth.
Model Details
Model Description
The qwen35-2b-general model is designed to handle everyday questions, write short stories, and help with simple daily tasks (like drafting a message or rewriting text) where no tools are needed. It acts as a friendly, general assistant.
- Developed by: OpenClaw Project
- Model type: Causal Language Model (MoE Expert)
- Language(s) (NLP): English, Vietnamese
- License: Apache 2.0
- Finetuned from model: unsloth/Qwen3.5-2B
Intended Uses & Limitations
This expert model is intended to be used as a component within the OpenClaw MoE router system. Its primary role is to process requests that:
- Require natural and clear answers for everyday questions without using external tools.
- Involve creative writing, such as short stories in a simple, engaging style.
- Entail simple daily tasks (drafting messages, rewriting text).
Negative Prompts (What it should NOT do):
- Decide the best tool workflow before acting.
- Summarize multiple fetched documents into a market analysis.
Training Details
Training Data
The model was fine-tuned on the expert_general_story.jsonl dataset consisting of 200 high-quality synthetic examples formatted in the standard Qwen/HuggingFace ChatML format.
Training Procedure
The training was performed using the Supervised Fine-Tuning (SFT) configuration with TRL and Unsloth for optimization.
Quick start
import torch
from unsloth import FastLanguageModel
max_seq_length = 4096
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "checkpoints/qwen35-2b-general",
max_seq_length = max_seq_length,
dtype = torch.float32,
)
FastLanguageModel.for_inference(model)
user_question = "Viết giúp tôi một câu chuyện ngắn về tình bạn."
prompt = f"<|im_start|>user\n{user_question}<|im_end|>\n<|im_start|>assistant\n<think>\n"
inputs = tokenizer(
text = prompt,
return_tensors = "pt",
add_special_tokens = False
).to("cuda")
outputs = model.generate(
**inputs,
max_new_tokens = 1024,
use_cache = True,
pad_token_id = tokenizer.eos_token_id,
repetition_penalty = 1.15,
temperature = 0.6,
top_p = 0.95,
top_k = 20,
min_p = 0.00,
do_sample = True
)
response = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
answer = response.split("assistant\n")[-1].strip()
print(answer)Routing Configuration (Mergekit)
For integration into the OpenClaw MoE via mergekit-moe, the following positive prompts are recommended for routing:
- "Answer naturally and clearly for everyday questions when no tools are needed."
- "Write a short story in a simple engaging style with a clear beginning, middle, and end."
- "Help with a simple daily task such as drafting a message or rewriting text."
- "Giải thích ngắn gọn"
- "Viết giúp tôi"
- "Kể một câu chuyện ngắn"
