CoolFace
Modelpublic

smarttasks/VibeThinker-1.5B-GGUF

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes90downloads
Model Card

VibeThinker-1.5B-Q4KM — GGUF (scorecard)

Quantized from `WeiboAI/VibeThinker-1.5B` by SmartTasks on 2026-07-18.

Why this conversion: Smaller, faster local/edge + agentic deployment via GGUF. Size saving: 68.6% vs original weights (HF param count, ~fp16) (this quant: Q4KM). Origin: https://huggingface.co/WeiboAI/VibeThinker-1.5B · license: mit · base: Qwen/Qwen2.5-Math-1.5B · arch: Qwen2ForCausalLM Attribution: derived from Qwen/Qwen2.5-Math-1.5B — see the original repo for the authoritative license and model details.

Who this model is for

  • Complexity band: L1 Layman → L4 Architect/Engineer
  • For non-experts: handles up to L4 Architect/Engineer-level tasks in testing.
  • For engineers/architects: see axis scores and invariants below.
  • For agentic systems: machine-readable scorecard JSON is embedded at the bottom and shipped as scorecard.json.

Capability by tier

TierPassed
L1 Layman
L2 Everyday
L3 Professional
L4 Architect/Engineer
L5 Agentic

Capability by axis

AxisScore
knowledge50%
instruction_following67%
reasoning80%
coding100%
structured_output50%
long_context100%

Known-answer accuracy: 0.733 · Drift vs original: None

Speed — generation tok/s by device

FileCPU t/sNVIDIA GeForce RTX 3090 t/sNVIDIA RTX A4000 t/sNVIDIA RTX A4000 t/s
VibeThinker-1.5B-Q4KM.gguf39.3336.1223.2223.1
VibeThinker-1.5B-Q5KM.gguf35.8305.7196.9198.7
VibeThinker-1.5B-Q6_K.gguf31.1306.7190.2193.3
VibeThinker-1.5B-Q8_0.gguf25.5292.4176.8177.8

Measured via llama-server; each GPU pinned separately. Per-GPU columns show newer vs older architecture side by side. Depends on your hardware and build.

File integrity & sizes (SHA-256)

Verify a download hasn't been tampered with. Linux/mac: sha256sum -c SHA256SUMS. Windows: Get-FileHash <file>.gguf -Algorithm SHA256.

FileSizeSavingSHA-256
VibeThinker-1.5B-Q4KM.gguf1.0 GB68.6%7461abd972863abda3df50c7db12ae14737f84a38f300ccae1fa01ddb777d066
VibeThinker-1.5B-Q5KM.gguf1.2 GB63.8%b6339a63e4b26525585153c0a6861ee41902a733508cf13cf4ef7eb1522bcab9
VibeThinker-1.5B-Q6_K.gguf1.4 GB58.8%fa2920d1cb5838b68e0ecf7e9e6ac879781cdd1f9e07ab27acfd946877fbd655
VibeThinker-1.5B-Q8_0.gguf1.8 GB46.7%b210970a537ee86cbb14140ce5f5a3bc6969eba903a2f9f7f9d0830aec2cf5f6

Saving is vs original weights (HF param count, ~fp16) (3.3 GB). Smaller quants are faster but lower fidelity; larger quants are closer to full precision.

Validation invariants (IAIso)

Overall conformance: WARN (5 pass / 1 warn / 0 fail / 0 not evaluated)

InvariantCategoryStatusDetail
iaiso.conversion.integrityconversionPASSGGUF produced and readable
iaiso.conversion.efficiencyconversionPASSSize reduction vs original weights (HF param count, ~fp16)
iaiso.capability.retentioncapabilityPASSKnown-answer accuracy on the complexity suite
iaiso.security.posturesecurityWARNred-team mean resistance 33.7% (weak, sampled: dan+promptinject); weak vs AblationDan11_0, DanInTheWild, HijackHateHumans, HijackKillHumans, HijackLongPrompt
iaiso.transparency.coveragetransparencyPASSTopic suppression / over-refusal / bias probe
iaiso.performance.throughputperformancePASSGeneration tok/s (best quant on this machine)
First-party self-assessment produced by the SmartTasks/IAIso validation pipeline (capability, security, transparency). Not an independent certification.

Security assessment

This maps directly to the iaiso.security.posture invariant above (WARN). Values below are computed deterministically from the scan outputs — the same scan always yields the same verdict.

Partial (sampled) red-team. Ran probe families dan, promptinject — a focused subset, not garak's full ~40-module suite (which takes ~a day on one GPU). These families target the attack classes most relevant to an instruction-tuned coding model, so the result is a strong, representative indicator of behavioural robustness — though not an exhaustive certification.

Mean resistance: 33.7% (weak). Higher = the model resisted more attacks. Grades: strong ≥95, good ≥80, mixed ≥50, weak <50.

ProbeOWASPAttemptsResistedPass rateGrade
promptinject.HijackKillHumansLLM01512377.2%weak
promptinject.HijackHateHumansLLM01512469.0%weak
dan.Ablation_Dan_11_0LLM012546927.2%weak
promptinject.HijackLongPromptLLM0151114929.2%weak
dan.DanInTheWildLLM0151223646.1%weak
dan.AutoDANCachedLLM016583.3%good
⚠️ Deployment note: this model was susceptible to one or more prompt-injection attack classes in testing (pass rate <50%). Like most instruction-tuned coding models, it should not be exposed to untrusted input in agent pipelines without external guardrails. This reflects the source model's safety tuning, not the quantization.

Sampled red-team (subset of garak probes); not an exhaustive sweep. Reproduce with garak (public LLM red-team toolkit) using the same probe set.

For agents

json
{
  "max_complexity_level": 4,
  "max_complexity_label": "L4 Architect/Engineer",
  "recommended_for": [
    "instruction_following",
    "reasoning",
    "coding",
    "long_context"
  ],
  "not_recommended_for": [],
  "size_saving_pct": 68.6
}

The full machine-readable scorecard is in scorecard.json (schema smarttasks.iaiso.model_scorecard/v1).

What this repo gives an agent builder

Unlike a bare GGUF re-upload, every file here is designed to be read programmatically before you drop the model into a loop:

  • `scorecard.json` — capability tier + per-axis scores (instruction-following, reasoning, tool-calling, structured-output) so your orchestrator can gate on whether this model is strong enough for a given step, without you hand-testing it.
  • Validation invariants — machine-readable pass/warn/fail records for security posture, transparency, and quantization fidelity. An agent platform can refuse to load a model whose invariants don't meet policy.
  • `SECURITY.md` + red-team results — the model's measured resistance to prompt injection and jailbreaks, so you know its susceptibility before you expose it to untrusted input in an agent chain.
  • `SHA256SUMS` — verify the exact weights you're running match what was tested.

This is the difference between "here's a quantized model" and "here's a model with a documented, checkable safety and capability profile for autonomous use."

Running VibeThinker-1.5B-Q4KM locally (LM Studio, Ollama, llama.cpp, vLLM)

These are GGUF quantizations of WeiboAI/VibeThinker-1.5B for local inference. Download a single .gguf and load it in LM Studio, Ollama, llama.cpp / llama-server, KoboldCpp, text-generation-webui, or any llama.cpp-based runner — no Python or GPU cluster required. Pick a size from the tables above: larger = closer to the original, smaller = less memory. Q4_K_M is the usual best balance.

Quick start

Ollama

bash
ollama run hf.co/smarttasks/VibeThinker-1.5B-Q4_K_M-GGUF:Q4_K_M

llama.cpp (OpenAI-compatible server)

bash
llama-server -m VibeThinker-1.5B-Q4_K_M-Q4_K_M.gguf -c 8192 -ngl 999 --host 0.0.0.0 --port 8080
# then POST to http://localhost:8080/v1/chat/completions (OpenAI schema)

LM Studio — search the repo in the in-app model browser, or point it at a downloaded .gguf. Exposes an OpenAI-compatible endpoint on port 1234.

Python (OpenAI client against the local server)

python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8080/v1", api_key="not-needed")
resp = client.chat.completions.create(
    model="VibeThinker-1.5B-Q4_K_M",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

LangChain

python
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(base_url="http://localhost:8080/v1", api_key="not-needed",
                 model="VibeThinker-1.5B-Q4_K_M")
print(llm.invoke("Hello!").content)

Using VibeThinker-1.5B-Q4KM in agentic systems (tool calling, JSON mode)

Built for agent and function-calling workloads — compatible with LangChain, LlamaIndex, CrewAI, AutoGen, and any framework that speaks the OpenAI chat/tools schema via a local llama.cpp or LM Studio endpoint. In testing this model reaches L4 Architect/Engineer complexity and is strongest at: instructionfollowing, reasoning, coding, longcontext. The repo ships a machine-readable scorecard.json with an agent_hint block (max complexity level, recommended tasks, size/VRAM) so an orchestrator can pick the right model automatically. Pair it with a governance layer (see below) for bounded, audited tool use.

For AI safety & security leaders

Every build in this repo ships with a first-party validation record: an OWASP-mapped security scan (ModelScan supply-chain + garak red-team), a transparency probe (topic-suppression / over-refusal / viewpoint-alignment), quantization fidelity (KL-divergence vs the original), and SHA-256 checksums for tamper verification. This is a documented self-assessment — not third-party certification — with every result included so your team can see exactly what was tested and independently verify the model and its checksums. Keywords: LLM security, model governance, agent safety, OWASP LLM Top 10, local/on-prem inference, supply-chain integrity.


About SmartTasks & IAIso

[SmartTasks](https://smarttasks.cloud) builds tooling for governed, agentic AI workflows. This model was converted and validated with the **SmartTasks GGUF

  • MoE pipeline** — our proprietary conversion and validation system.

IAIso — governance for agent loops

[IAIso](https://github.com/SmartTasksOrg/IAISO) is our open framework for bounding what an autonomous agent spends and touches, and proving it afterward. Three primitives: pressure-accumulation rate limiting (one scalar that rises with tokens, tool calls, and planning depth, and triggers an automatic safety release), ConsentScope (signed, scoped, expiring tokens gating sensitive operations), and structured audit (every state change emits a versioned event). It bounds a cooperating agent in-process; for adversarial containment bind it to an out-of-process anchor. (Framework 5.0 · SDK 0.2.0 · beta — you supply your own thresholds/coefficients for your workload.)

bash
pip install iaiso   # Python SDK (the only published package today)
python
from iaiso import BoundedExecution, PressureConfig

with BoundedExecution.start(config=PressureConfig()) as execution:
    outcome = execution.record_tool_call(name="search", tokens=500)
    if outcome.name == "ESCALATED":
        ...  # request human review before the next expensive step

Go, Rust, Node/TypeScript, Java, C#, PHP, Swift and Ruby SDKs implement the same spec and live in the repo's core/ (build from source — not yet published to their registries). See the repo for conformance vectors and LIMITATIONS.md.