alibayram/qwen3.5-toolcalling-v2
Qwen3.5 Tool Calling Dataset v2 An expanded tool-calling SFT dataset combining smirki/Tool-Calling-Dataset-UIGEN-X and AmanPriyanshu/tool-reasoning-sft-jupyter-agent, unified into Qwen3 messages format. Adds Jupyter notebook agent data with code execution reasoning chains. Dataset Summary Property Value Total Samples ~60K+ Train Split ~55K Test Split ~6K Sources UIGEN-X + Jupyter Agent Format Qwen3 messages Language English License Apache… See the full description on the dataset page: https://huggingface.co/datasets/alibayram/qwen3.5-toolcalling-v2.
Qwen3.5 Tool Calling Dataset v2
An expanded tool-calling SFT dataset combining smirki/Tool-Calling-Dataset-UIGEN-X and AmanPriyanshu/tool-reasoning-sft-jupyter-agent, unified into Qwen3 messages format. Adds Jupyter notebook agent data with code execution reasoning chains.
Dataset Summary
v1 vs v2 Comparison
What's New in v2?
- Jupyter Agent: Code execution with
add_and_execute_jupyter_code_celltool - Richer Reasoning: Structured
reasoning → tool_call → tool_output → answerchains - Data Science Tasks: CSV analysis, visualization, statistical computation
- Multi-step Execution: Multiple code cells in sequence
Dataset Structure
Data Fields
Role Types
Note: Originalreasoning,tool_call,tool_outputroles from Jupyter Agent source are normalized toassistantoruser.
Sources
Format
UIGEN-X Style: API Tool Calling
{
"messages": [
{
"role": "system",
"content": "You are a deep thinking AI...\n<tools>\n{\"name\": \"search_web\", \"description\": \"Search the web\", ...}\n</tools>"
},
{
"role": "user",
"content": "Find the latest news about AI developments"
},
{
"role": "assistant",
"content": "<think>\nUser wants latest AI news. I'll use search_web.\n</think>\n<tool_call>\n{\"name\": \"search_web\", \"arguments\": {\"query\": \"latest AI developments 2025\"}}\n</tool_call>"
},
{
"role": "user",
"content": "<tool_response>\n[{\"title\": \"New LLM achieves SOTA\", \"url\": \"...\"}]\n</tool_response>"
},
{
"role": "assistant",
"content": "Here are the latest AI developments: New LLM achieves state-of-the-art performance..."
}
]
}Jupyter Agent Style: Code Execution
{
"messages": [
{
"role": "system",
"content": "You are an intelligent data science assistant with access to a stateful Jupyter notebook. You can use the add_and_execute_jupyter_code_cell tool.\n\nYou have access to: winequality-red.csv"
},
{
"role": "user",
"content": "What is the average alcohol content in the dataset?"
},
{
"role": "assistant",
"content": "<think>\nI need to load the CSV and compute the mean of the alcohol column.\n</think>\n{\"name\": \"add_and_execute_jupyter_code_cell\", \"arguments\": {\"code\": \"import pandas as pd\\ndf = pd.read_csv('/home/user/input/winequality-red.csv')\\nprint(df['alcohol'].mean())\"}}"
},
{
"role": "assistant",
"content": "10.422983114446529"
},
{
"role": "assistant",
"content": "<answer>\nThe average alcohol content is approximately 10.42%.\n</answer>"
}
]
}Source Conversions
# --- UIGEN-X (ShareGPT) ---
role_map = {"human": "user", "gpt": "assistant", "system": "system"}
# --- Jupyter Agent (native messages) ---
# reasoning -> assistant (merged with following tool_call)
# tool_call -> assistant
# tool_output -> user
# answer -> assistantUsage
from datasets import load_dataset
dataset = load_dataset("Mustafaege/qwen3.5-toolcalling-v2")
# Check both types of examples
for sample in dataset['train']:
msgs = sample['messages']
has_jupyter = any('jupyter_code_cell' in str(m['content']) for m in msgs)
if has_jupyter:
print("Jupyter agent example found!")
breakTraining with Unsloth
from unsloth import FastLanguageModel
from trl import SFTTrainer, SFTConfig
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/Qwen3-1.7B",
max_seq_length = 8192, # Longer for multi-step reasoning
load_in_4bit = True,
)
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset['train'],
args = SFTConfig(
per_device_train_batch_size = 2,
gradient_accumulation_steps = 8,
max_seq_length = 8192,
),
)
trainer.train()Related Datasets
License
Apache 2.0 — see LICENSE for details.
Built for Qwen3.5 fine-tuning. Part of the Mustafaege model series.
