Songgot (솑곳)

A Korean-first tiny agentic model for tool calling on the device, trained from scratch by Hanish Keloth (Palette). Apache 2.0.

Try it on the device: https://hanishkeloth.github.io/songgot/app/ (runs in the browser, works offline after the first load).

Numbers

Kakao FunctionChat-Bench SingleCall (500 Korean items, 5 tool conditions), exact match on function name and arguments, scorer in the repo. Comparators run with identical tools and queries in their own documented formats.

model params exact 4_random 4_close 8_random 8_close all name only
Songgot (2 epochs, v5 set + similarity-reward RL) 50M 26.0 12.0 10.0 7.0 2.0 11.4 53.6
Songgot-nano (1 epoch) 39M 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Needle 2 45M 0.0 0.0 0.0 0.0 0.0 0.0 0.0
FunctionGemma-270M 270M 3.0 5.0 1.0 1.0 1.0 2.2 36.2
Qwen3-0.6B 600M 48.0 49.0 45.0 37.0 37.0 43.2 70.8

Tokens per Hangul syllable on the same 100 queries: Songgot 0.90, Gemma 3 0.98, Qwen3 1.15, Needle 2 3.47.

Tokens per Hangul syllable

Call accuracy by condition

Pretraining loss

Status (2026-09-10 19:31)

Weights in this repo are Songgot-nano, 1 epoch: 8 layers, 39M parameters, pretrained on an Apple M5 Max with MLX on 320M tokens, post-trained on the v2 tool-calling set. Call accuracy on FunctionChat-Bench SingleCall 0.0 percent (name only 0.0). GGUF exports (f16, Q8_0, Q4_K_M) are in this repo.

Format

<|system|>
[{"name": "set_alarm", "description": "μ•ŒλžŒμ„ μ„€μ •ν•©λ‹ˆλ‹€.", "parameters": {...}}]
<|user|>
내일 μ•„μΉ¨ 7μ‹œμ— μ•ŒλžŒ 맞좰쀘
<|call|>
{"name":"set_alarm","arguments":{"time":"07:00"}}<|end|>

Tokenizer: SentencePiece BPE, 32k, byte fallback (tokenizer.model). Use sentencepiece directly; the special tokens live inside the vocabulary.

Data and provenance

fineweb-edu sample-10BT (ODC-By), Korean Wikipedia 20231101.ko (CC BY-SA 3.0; this model card carries the attribution and share-alike notice for that text), glaive-function-calling-v2 (Apache 2.0), template-generated Korean tool calls (Apache 2.0, in the repo). No closed-model outputs. FunctionChat-Bench was never used for training.

Limits

Single-call tool selection and argument extraction only. No multi-turn, no tool results, no free chat. Small models are finicky with rare tools and paraphrased values; validate every call in application code.

Downloads last month
402
Safetensors
Model size
38.9M params
Tensor type
BF16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Datasets used to train palette-lab/songgot

Spaces using palette-lab/songgot 2