license, language, library_name, pipeline_tag, tags, datasets, base_model, model-index
license language library_name pipeline_tag tags datasets base_model model-index
apache-2.0
en
transformers text-generation
qwen2
sakthai
tool-calling
instruct
lora
Nanthasit/sakthai-combined-v4
Qwen/Qwen2.5-1.5B-Instruct
name results
sakthai-context-1.5b-merged
task dataset metrics
type name
text-generation Tool-Calling & Instruction Following
name type
SakThai Eval Suite Nanthasit/sakthai-combined-v4
type value name
pass_rate 100 Overall Pass Rate (45/45)
type value name
pass_rate 100 Basic (6/6)
type value name
pass_rate 100 Multi-Turn (9/9)
type value name
pass_rate 100 Instruction Following (6/6)
type value name
pass_rate 100 Tool Calling (6/6)
type value name
pass_rate 100 Reasoning (6/6)
type value name
pass_rate 100 Format Adherence (12/12)

SakThai Context 1.5B

Fine-tuned from Qwen2.5-1.5B-Instruct on the SakThai combined dataset for tool-calling, multi-turn context, and instruction-following capabilities. Designed as the reasoning backbone for the SakThai agent (running on Hermes Agent framework).

Model Details

Property Value
Base Model Qwen/Qwen2.5-1.5B-Instruct
Architecture Qwen2 (decoder-only transformer)
Hidden Size 1536
Layers 28
Attention Heads 12
Intermediate Size 8960
Vocab Size 151936
Fine-tuning Method LoRA (r=16, α=32, dropout=0.1)
Target Modules q_proj, k_proj, v_proj, o_proj
Training Steps 220
Training Duration ~39 minutes (4 epochs on 974 examples)
License Apache 2.0

Training

  • Base model: Qwen/Qwen2.5-1.5B-Instruct
  • Dataset: Nanthasit/sakthai-combined-v4 — 974 training + 51 test examples covering 25 canonical tool schemas
  • Method: LoRA via PEFT (rank=16, alpha=32, dropout=0.1) on q/k/v/o projections
  • Optimizer: AdamW, linear schedule, 220 steps

The LoRA adapter weights are available at Nanthasit/sakthai-context-1.5b-tools.

Evaluation

45/45 tests passed (100%) across 3 runs (15 tests/run).

Category Tests Pass Rate
Basic (greeting, identity) 6 100%
Multi-turn (name recall, context, preference) 9 100%
Instruction following 6 100%
Tool calling 6 100%
Reasoning (math, coding, explanation) 6 100%
Format adherence (JSON, markdown, arrays) 12 100%

Full eval report: eval/EVAL.md

Usage

Via Transformers

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("Nanthasit/sakthai-context-1.5b-merged")
tokenizer = AutoTokenizer.from_pretrained("Nanthasit/sakthai-context-1.5b-merged")

messages = [{"role": "user", "content": "What's the capital of Japan?"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Via Inference Client

from huggingface_hub import InferenceClient

client = InferenceClient("Nanthasit/sakthai-context-1.5b-merged")
response = client.chat_completion(
    messages=[{"role": "user", "content": "Hello!"}],
    max_tokens=256
)
print(response.choices[0].message.content)

Merging the Adapter

from peft import PeftModel
from transformers import AutoModelForCausalLM

base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct")
model = PeftModel.from_pretrained(base, "Nanthasit/sakthai-context-1.5b-tools")
merged = model.merge_and_unload()
merged.save_pretrained("./sakthai-context-1.5b-merged")

Limitations

  • Fine-tuned primarily for tool-calling and structured output; general knowledge remains at Qwen2.5-1.5B-Instruct baseline level.
  • Tested on CPU — performance on GPU inference may produce slightly different output distributions.
  • Best suited for agentic workflows with well-defined tool schemas. Complex multi-hop reasoning may require a larger base model.

Bias, Risks & Safety

This model is fine-tuned from Qwen2.5-1.5B-Instruct and inherits its base strengths and limitations. As a small language model (1.5B parameters), it may exhibit:

  • Factual inaccuracies on niche or recent topics
  • Biases present in the base model's pre-training data
  • Limited performance on tasks requiring long context (>2K tokens) or deep multi-step reasoning

Deploy with appropriate guardrails for any user-facing application.

Citation

@misc{sakthai-context-1.5b,
  author = {Nanthasit},
  title = {SakThai Context 1.5B — Tool-Calling Fine-Tune},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/Nanthasit/sakthai-context-1.5b-merged}}
}
Description
Model synced from source: Nanthasit/sakthai-context-1.5b-merged
Readme 45 KiB
Languages
Python 89.7%
Jinja 10.3%