Text Generation
PEFT
Safetensors
Dutch
tribe-crm
tool-calling
function-calling
lora
unsloth
qwen
conversational
Instructions to use Pimmetjeoss/tribe-crm-qwen-2b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Pimmetjeoss/tribe-crm-qwen-2b with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("unsloth/Qwen3.5-2B") model = PeftModel.from_pretrained(base_model, "Pimmetjeoss/tribe-crm-qwen-2b") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Unsloth Desktop
Tribe CRM Agent โ Qwen3.5-2B LoRA
LoRA adapter on top of unsloth/Qwen3.5-2B,
fine-tuned for Dutch-language tool-calling against the
Tribe CRM OData API.
Performance
Evaluated on a held-out set of 57 Dutch CRM prompts:
| Metric | Score |
|---|---|
| Combined accuracy | 91.2% |
| Tool accuracy | 98.2% |
| Args accuracy | 91.2% |
Compared to FunctionGemma 270M baseline on the same held-out set: combined 91.2% vs 59.6% (+31.6pp).
Fully resolves three known weak tools from prior iterations:
zoek_contact_op_email, maak_factuur, voeg_productregel_toe โ all 100%.
Usage
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
BASE = "unsloth/Qwen3.5-2B"
ADAPTER = "Pimmetjeoss/tribe-crm-qwen-2b"
tokenizer = AutoTokenizer.from_pretrained(ADAPTER)
base = AutoModelForCausalLM.from_pretrained(BASE, dtype="bfloat16")
model = PeftModel.from_pretrained(base, ADAPTER).to("cuda").eval()
messages = [
{"role": "system", "content": "You are a model that can do function calling with the following functions"},
{"role": "user", "content": "Zoek Bakkerij De Wit op"},
]
inputs = tokenizer.apply_chat_template(messages, tools=YOUR_TOOLS_SCHEMA,
add_generation_prompt=True,
return_dict=True, return_tensors="pt").to("cuda")
out = model.generate(**inputs, max_new_tokens=128, do_sample=False)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:]))
Output format is Qwen native XML-style tool calls:
<tool_call>
<function=zoek_contact>
<parameter=naam>
Bakkerij De Wit
</parameter>
</function>
</tool_call>
A parser for this format is available at
Pimmetjeoss/tribe-crm-training โ
agent/parser.py.
Training
- Base: unsloth/Qwen3.5-2B
- Method: QLoRA 4-bit via Unsloth Studio
- Dataset: 978 Dutch Tribe CRM tool-calling examples (tribe_crm_dataset_v2 + hard_negatives + multiturn_observations)
- LoRA: rank 16, alpha 16, all 7 linear modules targeted
- Schedule: 1 epoch, cosine LR, warmup 5%
- Hardware: RTX 3060 12GB
Related
- Base model: unsloth/Qwen3.5-2B
- Training pipeline: Pimmetjeoss/tribe-crm-training
- Previous FunctionGemma baseline: Pimmetjeoss/tribe-crm-functiongemma-270m
- Downloads last month
- 5