anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Writes text and answers questions as a small 3B open model with switchable step-by-step thinking, tool calling and long context, for developers who want a compact model on their own machine.
SmolLM3-3B is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.
pip install -U transformers
SmolLM3-3B is a small open language model from HuggingFaceTB with about 3.1B parameters. It is an instruction-tuned chat model that can reason step by step or answer directly, and it supports tool calling. Its weights are open, and the data mix and training settings are public.
It suits developers, students and researchers who want a compact model they can run on a single computer, on a GPU or on a CPU.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Software | Developers | Add a small local chat model to an app | Answer short questions inside a tool |
| Education | Students and teachers | Learn how language models are loaded and prompted | Run the sample script and read the reply |
| Research | Machine learning researchers | Study a fully documented small model | Test its thinking mode against direct answers |
If you need the strongest answers on hard tasks, a much larger model may serve you better, so you can skip this one.
| Use case | Who | What they get back |
|---|---|---|
| Chat and Q and A | Anyone | Plain-language answers to a prompt |
| Step-by-step reasoning | Researchers | An answer that comes with a reasoning trace |
| Tool calling | Agent builders | Replies that can call tools you pass in |
| Long documents | Developers | Handling of inputs up to 128k tokens with YaRN |
You need Python and a recent transformers.
pip install -U transformers
pip install -U huggingface_hub hf download HuggingFaceTB/SmolLM3-3B
Load the tokenizer and the model, build a chat message, apply the chat template and call generate. The card suggests a temperature of 0.6 and a top_p of 0.95 when sampling.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "HuggingFaceTB/SmolLM3-3B"
device = "cuda" # for GPU usage or "cpu" for CPU usage
# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
).to(device)
# prepare the model input
prompt = "Give me a brief explanation of gravity in simple terms."
messages_think = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages_think,
tokenize=False,
add_generation_prompt=True,
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# Generate the output
generated_ids = model.generate(**model_inputs, max_new_tokens=32768)
# Get and decode the output
output_ids = generated_ids[0][len(model_inputs.input_ids[0]) :]
print(tokenizer.decode(output_ids, skip_special_tokens=True))Extended thinking is on by default. To turn it off, pass enable_thinking as false when you apply the chat template, or put a no-think flag in the system message. A flag in the system message wins over the setting.
prompt = "Give me a brief explanation of gravity in simple terms."
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False
)| Tool | What it does |
|---|---|
| /think | Flag in the system message that keeps extended thinking on |
| /no_think | Flag in the system message that turns extended thinking off |
| enable_thinking | Setting passed to the chat template to turn thinking on or off |
You ask for a short, plain-language explanation of gravity. With thinking on, the model returns a reasoning trace and then the answer. With thinking off, it replies directly.
Think of it as a small assistant that fits on an ordinary computer. A first small test is the sample script above, which asks one question and prints the reply. Try it once with thinking on and once with it off.
It is a decoder-only transformer that uses grouped-query attention and NoPE in a 3 to 1 ratio. Pretraining ran on 11.2T tokens in stages across web, code, math and reasoning data. Post-training added 140B tokens of reasoning midtraining, then supervised fine-tuning and Anchored Preference Optimization. It trained on 64k context and reaches 128k tokens with YaRN extrapolation.
The card names six natively supported languages: English, French, Spanish, German, Italian and Portuguese. The config is set for 65,536 tokens, and longer inputs need a rope_scaling change. Other people have published 126 quantized and 178 fine-tuned versions.
Writes text and answers questions as a small 3B open model with switchable step-by-step thinking, tool calling and long context, for developers who want a compact model on their own machine.
Made by HuggingFaceTB on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.
What it is: SmolLM3-3B is a small open language model from HuggingFaceTB with about 3.1B parameters. It is an instruction-tuned chat model that can reason step by step or answer directly, and it supports tool calling. Its weights are open, and the data mix and training settings are public.
Who it suits: It suits developers, students and researchers who want a compact model they can run on a single computer, on a GPU or on a CPU.
Title: Who uses this model
Industry | Who uses it | How they use it | Example
Software | Developers | Add a small local chat model to an app | Answer short questions inside a tool
Education | Students and teachers | Learn how language models are loaded and prompted | Run the sample script and read the reply
Research | Machine learning researchers | Study a fully documented small model | Test its thinking mode against direct answers
If you need the strongest answers on hard tasks, a much larger model may serve you better, so you can skip this one.
Where to use it:
Title: Jobs it does
Use case | Who | What they get back
Chat and Q and A | Anyone | Plain-language answers to a prompt
Step-by-step reasoning | Researchers | An answer that comes with a reasoning trace
Tool calling | Agent builders | Replies that can call tools you pass in
Long documents | Developers | Handling of inputs up to 128k tokens with YaRN
How to set it up: You need Python and a recent transformers.
pip install -U transformers
pip install -U huggingface_hub
hf download HuggingFaceTB/SmolLM3-3B
How to use it: Load the tokenizer and the model, build a chat message, apply the chat template and call generate. The card suggests a temperature of 0.6 and a top_p of 0.95 when sampling.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "HuggingFaceTB/SmolLM3-3B"
device = "cuda" # for GPU usage or "cpu" for CPU usage
# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
).to(device)
# prepare the model input
prompt = "Give me a brief explanation of gravity in simple terms."
messages_think = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages_think,
tokenize=False,
add_generation_prompt=True,
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# Generate the output
generated_ids = model.generate(**model_inputs, max_new_tokens=32768)
# Get and decode the output
output_ids = generated_ids[0][len(model_inputs.input_ids[0]) :]
print(tokenizer.decode(output_ids, skip_special_tokens=True))
Extended thinking is on by default. To turn it off, pass enable_thinking as false when you apply the chat template, or put a no-think flag in the system message. A flag in the system message wins over the setting.
prompt = "Give me a brief explanation of gravity in simple terms."
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False
)
Title: Thinking switches
Tool | What it does
/think | Flag in the system message that keeps extended thinking on
/no_think | Flag in the system message that turns extended thinking off
enable_thinking | Setting passed to the chat template to turn thinking on or off
Example: You ask for a short, plain-language explanation of gravity. With thinking on, the model returns a reasoning trace and then the answer. With thinking off, it replies directly.
For newcomers and experts: Think of it as a small assistant that fits on an ordinary computer. A first small test is the sample script above, which asks one question and prints the reply. Try it once with thinking on and once with it off.
It is a decoder-only transformer that uses grouped-query attention and NoPE in a 3 to 1 ratio. Pretraining ran on 11.2T tokens in stages across web, code, math and reasoning data. Post-training added 140B tokens of reasoning midtraining, then supervised fine-tuning and Anchored Preference Optimization. It trained on 64k context and reaches 128k tokens with YaRN extrapolation.
Staged pretraining on 11.2T tokens
Reasoning midtraining
Supervised fine-tuning
Anchored Preference Optimization
Chat model with thinking switch
Good to know: The card names six natively supported languages: English, French, Spanish, German, Italian and Portuguese. The config is set for 65,536 tokens, and longer inputs need a rope_scaling change. Other people have published 126 quantized and 178 fine-tuned versions.
Title: Estimated weight size
BF16: 6.2 GB
4-bit: 1.5 GB
Download its files with Hugging Face's command line:
pip install -U huggingface_hub
hf download HuggingFaceTB/SmolLM3-3B
Then follow the usage in its model card. Nothing in this kit runs by itself.
README.md 7 KB
Listed Hugging Face models in the same category that share the most tags with this one.
| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
|---|---|---|---|---|---|
| SmolLM3-3B This page | 276,681 | 1,079 | 3.1B | apache-2.0 | |
| Qwen3-0.6BShares text-generation · conversational · transformers | 19,718,599 | 1,894 | 752M | apache-2.0 | |
| Qwen3-14BShares text-generation · conversational · transformers | 12,965,376 | 540 | 14.8B | apache-2.0 | |
| Qwen2.5-7B-InstructShares text-generation · conversational · transformers | 6,364,238 | 2,494 | 7.6B | apache-2.0 | |
| Qwen3-8BShares text-generation · conversational · transformers | 6,269,141 | 2,184 | 8.2B | apache-2.0 | |
| gpt-oss-20bShares text-generation · conversational · transformers | 5,685,450 | 5,299 | 20.9B | apache-2.0 |
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
block · Kit
Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…
backnotprop · Kit
Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.