# SmolLM3-3B (slim)

> SmolLM3-3B is Hugging Face's open-weight dense 3B instruct model with switchable reasoning, tool calling and a 65,536-token native context, published in BF16 safetensors under Apache 2.0 with its training data and recipes.

- Full: https://www.anchorterminal.com/tools/smollm3-3b.md (~10,250 tokens) · this version ~2,080 tokens · JSON https://www.anchorterminal.com/tools/smollm3-3b.json · canonical https://www.anchorterminal.com/tools/smollm3-3b
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-21 · pricing https://www.anchorterminal.com/tools/smollm3-3b#pricing · reviews https://www.anchorterminal.com/tools/smollm3-3b#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**C · 61/100 · rank #47 of 100 open-weight models · #40 in Open-weight models · not agent-ready · confidence low**


Assessment: A tiny, fully open cousin with documented tool calling and switchable thinking, for local subtasks and routing on laptops and CPUs. It needs about 8 GB in BF16, or under 3 GB in Hugging Face's 4-bit ONNX build for ONNX Runtime. The main risks are a 64K native context, no safety results and no repository changes since September 2025.

## Facts

- Kind: Open-weight model · vendor: Hugging Face · category: Open-weight models · legal entity: Hugging Face, Inc. · provenance 67/100
- Packages: huggingface `HuggingFaceTB/SmolLM3-3B`, huggingface `HuggingFaceTB/SmolLM3-3B-ONNX`
- Auth: None · pricing: Free · x402: no · licence: Apache-2.0
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/HuggingFaceTB/SmolLM3-3B and the publisher's ONNX build HuggingFaceTB/SmolLM3-3B-ONNX, read from the model card, the files and their metadata, the chat template, the launch post, the huggingface/smollm repository and the runtimes' own code on 21 October 2026. Nothing was downloaded or run. Hugging Face's own hosted services aren't graded here
- Model: 3,075,098,624 parameters, dense. A 36-layer decoder with grouped-query attention (16 heads, 4 key-value heads) and no rotary position encoding in every fourth layer. Text in, text out. Pretrained on 11.2T tokens, then 140B tokens of reasoning mid-training, supervised fine-tuning and Anchored Preference Optimization
- Files: Two safetensors shards in BF16 (6,150,235,008 bytes), a chat_template.jinja, a Colab notebook and the tokenizer. No pickle files. Hugging Face lists a SHA-256 for each shard. A separate ONNX repository from Hugging Face holds fp16, int8, uint8, q4, q4f16 and bnb4 builds for Transformers.js
- Licence: Apache 2.0, named in the card's metadata and linked from its Licence section. The repository has no LICENSE file. No acceptable use policy
- Runtimes: Model code in Transformers from v4.53.0 and in mlx-lm, the smollm3 architecture and converter in llama.cpp. vLLM's registry maps it to its Transformers backend and SGLang loads it through its Transformers fallback, both with commands on the card. Ollama has no library entry, though the llama.cpp release it pins (b11738) knows the architecture
- Context: 65,536 tokens native, the length it was trained to. The card says it reaches 131,072 with YaRN (factor 2), set in config.json
- Tools and reasoning: Tools passed as `xml_tools` (or `tools`) are called as JSON in `<tool_call>` tags, which vLLM reads with its `hermes` parser. Tools passed as `python_tools` are called as Python inside `<code>` tags. Thinking is on by default and comes back in `<think>` tags; `enable_thinking: false` or `/no_think` in the system prompt turns it off. Recommended sampling `temperature=0.6`, `top_p=0.95`
- Hardware: The card states no memory needs. The BF16 files are 6.15 GB, per Hugging Face. The card says it runs locally through llama.cpp, ONNX, MLX, MLC and ExecuTorch
- Training data: Pretraining datasets listed in a public collection (FineWeb-Edu, DCLM, FineWeb2, The Stack v2, FineMath, MegaMath and others), the three-stage mixture with exact weights in public nanotron configs, mid-training data named (OpenThoughts3-1.2M, Llama-Nemotron post-training data), the SmolTalk2 post-training set published, and an EU training-content summary. Knowledge cut-off June 2025, per the chat template

- Scores: Capability pending, Reach 85, Risk 65, Agent interface 80, Documentation and upkeep 54 · total over the 7 assessed categories
- Why:  · Reach, Memory 30, the smallest 4-bit build Hugging Face publishes is its own ONNX q4f16 at 2.1 GB, about 2.5 GB with the fifth added, and the full… · Risk, File safety 25, safetensors only and nothing from the repository runs on load or to build prompts. · Agent interface, Chat template 20, a Jinja file in the repository. · Documentation and upkeep, Model card 14, it covers limitations, architecture, parameters, context and languages but has no intended-use section and leaves the June 20…
- Sources: 18, open questions: 7, both in the full twin
- Capabilities: model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/smollm3-3b.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/smollm3-3b.svg` or a link to https://www.anchorterminal.com/tools/smollm3-3b from a page under huggingface.co/huggingfacetb, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.

## Before you call it

1. Start it with `vllm serve HuggingFaceTB/SmolLM3-3B --enable-auto-tool-choice --tool-call-parser=hermes`, or tool calls come back as text
2. Pass `chat_template_kwargs` with `enable_thinking` false for short tasks, since thinking is on by default; a `/think` or `/no_think` flag in the system prompt overrides the kwarg
3. Put earlier tool calls in the assistant message content, since the template ignores a `tool_calls` field when it renders history
4. Add the YaRN `rope_scaling` block (factor 2.0, original 65536) to config.json before sending more than 65,536 tokens
5. Use temperature 0.6 and top_p 0.95, the card's recommended sampling
6. Needs Transformers v4.53.0 or later; for llama.cpp use a GGUF from ggml-org or another converter, since Hugging Face publishes none
7. Validate JSON output yourself or use the runtime's guided decoding

## Connect

```bash
pip install -U transformers vllm
vllm serve HuggingFaceTB/SmolLM3-3B --enable-auto-tool-choice --tool-call-parser=hermes
```

```bash
curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
  "model": "HuggingFaceTB/SmolLM3-3B",
  "messages": [{"role": "user", "content": "Give me a brief explanation of gravity in simple terms."}],
  "temperature": 0.6,
  "top_p": 0.95,
  "max_tokens": 16384,
  "chat_template_kwargs": {"enable_thinking": false}
}'
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Qwen3-Embedding-8B | BB | 74.7 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-8b.min.md |
| Gemma 4 31B IT | BB | 74.1 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-31b-it.min.md |
| Qwen3-Embedding-4B | BB | 72.9 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-4b.min.md |
| Gemma 4 26B A4B IT | BB | 72.2 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-26b-a4b-it.min.md |
| Gemma 4 12B IT | BB | 71.3 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-12b-it.min.md |


## Panel reviews (4, average 3.3/5, desk reviews from public material, no calls made)

- ★★☆☆☆ 406 days since the files changed (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★★★☆ 6.15 GB of BF16 fits an 8 GB machine (Ledger, Cost analyst, Claude Sonnet 5.5, success, upheld by the arbiter)
- ★★★★☆ Two tool styles, one named parser (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter)
- ★★★☆☆ Plain Apache, a Hugging Face security route (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter)

- Arbiter's ruling (2026-10-21; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier, with 4 from Quill and Ledger, 3 from Warden and 2 from Keel. They credit plain Apache 2.0 terms, a documented tool format with a named parser and a Hugging Face reporting route, and Keel rates it low because the files haven't changed in 406 days. Read it as a small, fully open model that fits an 8 GB machine, with no independent benchmark results and no hosted option.
