How It Works

VibeThinker runs a quantized 3.1B parameter model on CPU via llama-cpp-python. This page explains the internals: model loading, inference, and performance characteristics.

Model Specs

3.1B
Parameters
Q8_0
Quantization
3.1 GB
File Size
~3.3 GB
RAM Usage
2048
Context (n_ctx)
2
Threads
Qwen2.5
Architecture
CPU
Backend

Inference

Inference runs on CPU. Typical throughput is ~2 tokens/second on a 2-core CPU. The model outputs structured responses:

<think>The user wants a fibonacci generator in Rust.
I'll write a function using an iterative approach
with pattern matching for the base cases.</think>
fn fib(n: u32) -> u32 {
    match n {
        0 => 0,
        1 => 1,
        _ => fib(n - 1) + fib(n - 2),
    }
}

The <think> section contains the model's reasoning. Most commands strip this tag. Use --no-think to suppress, or vibe think to show only reasoning.

Performance

The LRU cache (128 entries, 5min TTL) provides dramatic speedups for repeated queries.