File size: 2,825 Bytes
601c404
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0e97db8
 
 
 
 
 
 
 
601c404
 
 
 
0e97db8
 
601c404
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
license: apache-2.0
base_model: WeiboAI/VibeThinker-3B
datasets:
  - lambda/hermes-agent-reasoning-traces
language:
  - en
pipeline_tag: text-generation
tags:
  - tool-calling
  - function-calling
  - hermes
  - reasoning
  - gguf
  - llama-cpp
  - research-preview
---

# VibeThinker-3B-Hermes — GGUF (Research Preview)

⚠️ **Research preview / experimental.** Read **Limitations** before use. Known issues:
repetition loops on out-of-distribution multi-turn input, and over-eagerness to call tools.

GGUF quantizations of a LoRA fine-tune of
[`WeiboAI/VibeThinker-3B`](https://huggingface.co/WeiboAI/VibeThinker-3B) that adds
Hermes-style function calling (`<think>…</think>` + `<tool_call>…</tool_call>`) while
preserving reasoning. See the full (transformers) model card for training details and
benchmarks.

## Files

| File | Quant | Size |
|---|---|---|
| `…-Q6_K.gguf` | **Q6_K** | 2.4 GB | min recommended |
| `…-Q8_0.gguf` | Q8_0 | 3.1 GB |
| `…-f16.gguf` | F16 | 5.8 GB | best |

> **Why only Q6_K and up?** We measured tool-call fidelity on a multi-step agentic task:
> **Q6_K, Q8_0 and F16 pass; Q3/Q4/Q5 fail** (they emit malformed/incomplete tool calls and
> can loop). Since this is a tool-calling model, the lower quants were removed to avoid
> shipping a broken experience. Use **Q6_K** for the best size/quality balance.

## Usage (llama.cpp)

```bash
# use Q6_K+ for tool-calling
llama-cli -m VibeThinker-3B-Hermes-Q6_K.gguf \
  --temp 0.6 --top-p 0.95 --repeat-penalty 1.1 \
  -p "<your Hermes-formatted prompt>"
```

## Recommended settings

- **Use a stop on `</tool_call>`** for single-call settings — essential to avoid the model
  appending duplicate/hallucinated calls.
- temperature 0.6, top_p 0.95, repeat-penalty ≈ 1.1.
- Stop tokens: `<|im_end|>` (151645) and `<|endoftext|>` (151643).
- Hermes system prompt with a `<tools>` block; the model emits `<think></think>` then
  `<tool_call>\n{"name": …, "arguments": …}\n</tool_call>`.

## Benchmarks (summary)

- **Reasoning (AIME 2024):** base avg@4 0.842 → this model 0.783; pass@4 0.867 unchanged.
- **Tool-calling (BFCL single-turn, with stop fix):** live_simple ~60 %, live_multiple ~31 %,
  live_relevance 87.5 %, live_irrelevance ~34 % (over-eager).

## Limitations

- Repetition loops on OOD multi-turn input (emits the same call many times; avg ~25 calls/turn
  vs ~1.3 expected). Mitigate with `stop=["</tool_call>"]` + repeat-penalty.
- Over-eager to call tools (does not always decline when it should).
- Single-turn exact-match is poor without the stop fix.
- ~6-pt avg@4 reasoning dip vs base; trained 1 epoch on one dataset config.

Not recommended for production agents as-is.

## License

Apache-2.0. Built on `WeiboAI/VibeThinker-3B` and `lambda/hermes-agent-reasoning-traces`
(both Apache-2.0).