CoolFace
Modelpublic

sigdelakshey/Compact-ToolCall-Planner-Qwen2.5-0.5B-v1

sourceHugging Faceapache-2.0updated 6mo agoView on Hugging Face
0likes12downloads
Model Card

Compact-ToolCall-Planner-Qwen2.5-0.5B-v1

Compact-ToolCall-Planner-Qwen2.5-0.5B-v1 is an experimental LoRA adapter built on top of Qwen/Qwen2.5-0.5B-Instruct for a narrow structured-output task: tool-call planning.

It takes:

  • —a user instruction
  • —a provided tool catalog

and is intended to produce one of three JSON decisions:

  • —call_tool
  • —needs_clarification
  • —no_applicable_tool

Release Summary

This release is intended as a compact research and prototyping artifact for agent systems that already control their tool catalog and downstream validation layer.

It is meant to be useful when you want:

  • —a small adapter rather than a larger fine-tuned model
  • —planner-style JSON outputs instead of open-ended chat behavior
  • —an experimental starting point for resource-constrained tool routing setups

What This Release Is

  • —a compact task-specific adapter
  • —designed for resource-constrained experimentation
  • —focused on structured planner-style JSON outputs
  • —intended for agent pipelines that already provide a tool catalog

What This Release Is Not

  • —not the original Qwen base model
  • —not a general-purpose assistant
  • —not a tool executor
  • —not a production-ready agent router

Attribution

  • —base model: Qwen/Qwen2.5-0.5B-Instruct
  • —base model owner: Qwen
  • —released artifact: LoRA adapter for Tool-Call Planner

Intended Use

This adapter is intended for:

  • —research and prototyping on structured tool planning
  • —lightweight agent stacks in constrained environments
  • —experiments where the caller already controls the tool catalog and output validation

Task Definition

The adapter is trained for the following mapping:

  • —input: instruction + tool catalog
  • —output: JSON-only planner decision

Expected decision contract:

json
{
  "decision": "call_tool",
  "tool_name": "create_calendar_event",
  "arguments": {
    "title": "Team Sync",
    "date": "tomorrow",
    "time": "4 PM"
  }
}

Or:

json
{
  "decision": "needs_clarification",
  "tool_name": null,
  "arguments": {},
  "missing_fields": ["date"]
}

Or:

json
{
  "decision": "no_applicable_tool",
  "tool_name": null,
  "arguments": {}
}

Data Scope

  • —synthetic task-specific corpus
  • —domains: calendar, email, travel, CRM, file management
  • —release-scale corpus size used in project artifacts: 6,440 rows
  • —adapter release candidate trained on a reduced subset for fast iteration under constrained compute

This should be understood as task-construction data for a narrow planner, not as a broad real-world instruction corpus.

Evaluation Status

This release is being shared as an experimental niche adapter, not as a benchmark-improving claim over the base model.

  • —no strong public claim of improvement over the untuned base model is made here
  • —the current release is meant as a compact task-specific prototype
  • —constrained decoding and output validation are recommended

In other words, this model card is making a scope claim, not a leaderboard claim.

Practical Expectations

You should expect this adapter to be most useful when:

  • —the tool catalog is explicit and compact
  • —the desired output schema is fixed in advance
  • —the caller is willing to validate or reject malformed generations

You should not expect this adapter to behave like a strong general-purpose function-calling model across arbitrary tools or open-ended workflows.

Limitations

  • —synthetic-data-heavy training setup
  • —narrow task scope
  • —limited real-world validation
  • —output quality depends strongly on the provided tool catalog
  • —should not be used as a general-purpose function-calling or agent model without additional validation
  • —may require prompt tuning and constrained decoding for acceptable behavior in production-like settings

Usage

python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

base_model_id = "Qwen/Qwen2.5-0.5B-Instruct"
adapter_id = "sigdelakshey/Compact-ToolCall-Planner-Qwen2.5-0.5B-v1"

tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(base_model_id, trust_remote_code=True)
model = PeftModel.from_pretrained(model, adapter_id)

prompt = """You are a tool-call planner. Return JSON only.

Instruction:
Schedule a meeting with Priya tomorrow at 4 PM called Product Sync.

Available tools:
{"domain":"calendar","tools":[{"name":"create_calendar_event","description":"Create a calendar event.","parameters":{"title":{"type":"string"},"date":{"type":"string"},"time":{"type":"string"}},"required":["title","date","time"]}]}"""

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=128)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Recommended Inference Pattern

  • —provide the tool catalog explicitly
  • —ask for JSON only
  • —use constrained decoding if available
  • —validate outputs before execution

Suggested Citation Style

If you reference this release, describe it as:

  • —an experimental compact LoRA adapter for structured tool-call planning built on Qwen/Qwen2.5-0.5B-Instruct

Contact

If you use this adapter, treat it as an experimental structured-planning artifact and validate it carefully in your own stack.