Instructions to use AtomicChat/Ling-3.0-flash-Sante-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S # Run inference directly in the terminal: llama cli -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S # Run inference directly in the terminal: llama cli -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S # Run inference directly in the terminal: ./llama-cli -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S # Run inference directly in the terminal: ./build/bin/llama-cli -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Use Docker
docker model run hf.co/AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
- LM Studio
- Jan
- vLLM
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "AtomicChat/Ling-3.0-flash-Sante-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AtomicChat/Ling-3.0-flash-Sante-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
- Ollama
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with Ollama:
ollama run hf.co/AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
- Unsloth Desktop
- Pi
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with Docker Model Runner:
docker model run hf.co/AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
- Lemonade
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Run and chat with the model
lemonade run user.Ling-3.0-flash-Sante-GGUF-IQ1_S
List all available models
lemonade list
- Hermes Agent
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use AtomicChat/Ling-3.0-flash-Sante-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "AtomicChat/Ling-3.0-flash-Sante-GGUF:IQ1_S" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
How to Run Ling 3.0 flash Sante Locally
Built from inclusionAI's original weights with our own importance matrix. The calibration corpora behind our builds are public.
- You can now run Ling in Atomic Chat.
- See our quantization analysis below for measurements and instructions.
Pick a file
Every number below is measured, not estimated. How we measured it is at the bottom, and the raw logs are in the metrics repo so you can check any of it yourself.
KL divergence is how far the quantized model's predictions drift from the
original weights. Lower is better, and zero means identical. top-1 is how
often it picks the same next word the original would have picked.
| File | Size | KL divergence | top-1 |
|---|---|---|---|
AD-Q6_K |
110.8 GB | 0.00748 | 98.00% |
AD-IQ4_XS |
78.1 GB | 0.01497 | 96.66% |
AD-IQ3_S |
61.1 GB | 0.03525 | 94.47% |
AD-IQ2_M |
52.4 GB | 0.06086 | 92.45% |
AD-IQ1_S |
35.7 GB | 0.22337 | 84.75% |
AD- marks an Atomic Dynamic layout. The name says what the two largest
tensor groups got: AD-<ffn_down>-<ffn_up>, collapsed to one name when both
match. Nothing is named after a type it does not contain.
Which one fits your card
The file has to fit, and so does the context. This model keeps 560 KB of attention cache per token, which is 4.4 GB at 8k context and 17.5 GB at 32k. Budget for both.
| Your card | File | Leaves room for |
|---|---|---|
| 48 GB | AD-IQ1_S |
around 24k context |
| 64 GB | AD-IQ3_S |
around 8k context |
| 80 GB | AD-IQ4_XS |
around 8k context |
| 128 GB | AD-Q6_K |
around 40k context |
| 256 GB and up | AD-Q6_K |
full context |
If you are choosing between two neighbouring files, take the larger one. The steps between them cost one or two gigabytes and buy noticeably fewer wrong words.
Running it
llama-server -m Ling-3.0-flash-Sante-AD-IQ4_XS.gguf -ngl 99 -c 8192
The chat template is inside every file, llama.cpp applies it on its own.
The model ships a multi token prediction head. It is inside every file here and needs no extra download:
llama-cli -m Ling-3.0-flash-Sante-AD-IQ4_XS.gguf --spec-type draft-mtp -ngl 99 -c 8192
Speed
How these compare to other builds
What we found while building these
The calibration data
Our importance matrix comes from a corpus we built for this model and
published: AtomicChat/calib-corpora,
recipe ling3-moe. It is 4,685,467 tokens across 2,726 documents:
| Part | Share |
|---|---|
| agentic and tool use | 23.6% |
| multilingual | 19.4% |
| code | 17.1% |
| reasoning | 12.8% |
| long context | 11.4% |
| vocabulary sweep | 6.7% |
| structured data | 4.6% |
| graphics | 4.3% |
Every conversation is rendered through this model's own chat template, so the chat markup appears as the single tokens the model actually sees.
If you build your own importance matrix from this corpus, pass
--parse-specialtollama-imatrix. Without it the chat markup is read as ordinary punctuation.
How we measured
Reference: the original BF16 weights, converted to GGUF and run unquantized. Perplexity on the held-out set is 3.1334 plus or minus 0.01199.
Held-out text: eval_neutral from our calibration dataset, never used for
calibration. 144 chunks at 4096 context.
Metric: per-token KL divergence of each file's predictions against the reference, plus top-1 agreement.
Hardware: 8x A100-SXM4-40GB.
The raw logits of the reference are published in the metrics repo, split into parts because of the file size limit. With them you can measure your own build against exactly the same point we did:
cat base-neutral.kld.*.part > base-neutral.kld
llama-perplexity -m your-quant.gguf -f eval_neutral.txt \
--kl-divergence-base base-neutral.kld --kl-divergence -c 4096 -ngl 99
Reproducing a file
The importance matrix was collected on the BF16 weights rather than on a quantized copy, in one run:
llama-imatrix -m Ling-3.0-flash-Sante-BF16.gguf -f calib_train.txt -o imatrix.gguf \
-ngl 99 -c 512 -b 8192 -ub 8192 --parse-special
Then, for AD-IQ4_XS:
llama-quantize \
--imatrix imatrix.gguf \
--tensor-type '^blk\.42\.=q8_0' \
--tensor-type '^blk\.(2|3|39|40|41)\.ffn_down_exps\.weight$=q5_k' \
--tensor-type '^blk\.(2|3|39|40|41)\.ffn_(gate|up)_exps\.weight$=iq4_xs' \
--tensor-type '^blk\.\d+\.ffn_down_exps\.weight$=q5_k' \
--tensor-type '^blk\.\d+\.ffn_(gate|up)_exps\.weight$=iq4_xs' \
--tensor-type '^blk\.\d+\.ffn_(gate|down|up)_shexp\.weight$=q8_0' \
--tensor-type '^blk\.\d+\.ffn_(gate|down|up)\.weight$=q8_0' \
--tensor-type '^blk\.\d+\.attn_\w+\.weight$=q8_0' \
--tensor-type '^blk\.\d+\.ssm_\w+\.weight$=q8_0' \
--output-tensor-type \
f16 \
--token-embedding-type \
q8_0 \
Ling-3.0-flash-Sante-BF16.gguf Ling-3.0-flash-Sante-AD-IQ4_XS.gguf IQ4_XS
The rules for every other file are in ladder/ in the metrics repo, next to
its quantization log. The first rule that matches a tensor wins.
Model details
42 layers, hidden size 2560, feed-forward size 6144, vocabulary 157,184, context 262,144. One multi token prediction head.
Needs a recent llama.cpp with bailingmoe3 architecture support. Built and tested with llama.cpp b11571 (097cf33d9).
- Downloads last month
- 12,459
1-bit
2-bit
3-bit
4-bit
6-bit
8-bit
Model tree for AtomicChat/Ling-3.0-flash-Sante-GGUF
Base model
inclusionAI/Ling-3.0-flash-Sante

