Piecrust/Spike-350M-GGUF overview
<p align="center" <img src="https://huggingface.co/Piecrust/Spike 350M GGUF/resolve/main/banner.png" alt="Spike 350M GGUF" width="100%" </p Spike 350M Spike is…
Runs locally from ~210.5 MB disk (4 GB VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
Model Details
| Model ID | Piecrust/Spike-350M-GGUF |
|---|---|
| Author | Piecrust |
| Pipeline | text-generation |
| License | other |
| Base model | LiquidAI/LFM2.5-350M |
| Last modified | 2026-07-15T16:41:38.000Z |
Model README
---
license: other
license_name: lfm1.0
license_link: https://huggingface.co/LiquidAI/LFM2.5-350M/blob/main/LICENSE
base_model: LiquidAI/LFM2.5-350M
library_name: gguf
pipeline_tag: text-generation
tags:
- gguf
- tool-calling
- function-calling
- pieswap
- dusk
language:
- en
- de
- nl
thumbnail: https://huggingface.co/Piecrust/Spike-350M-GGUF/resolve/main/banner.png
---
<p align="center">
<img src="https://huggingface.co/Piecrust/Spike-350M-GGUF/resolve/main/banner.png" alt="Spike-350M-GGUF" width="100%">
</p>
Spike-350M
Spike is the in-browser assistant of Pieswap, the DEX on
the Dusk network. This model is a LoRA fine-tune of
specialized for Spike's tool-calling workload: swaps, wrapping, staking,
liquidity management, balances, pools, and app settings — in English, German,
and Dutch. It runs fully client-side via
wllama (llama.cpp WebAssembly).
Files
| File | Use |
|---|---|
| Spike-350M-Q5_K_M.gguf (260 MB) | Production quant on desktop (pieswap.app) |
| Spike-350M-Q4_K_S.gguf (221 MB) | Production quant on mobile — smaller download, faster CPU prompt processing |
| Spike-350M-Q4_K_M.gguf (229 MB) | Alternative quant |
| Spike-350M-F16.gguf (709 MB) | Full-precision source for requantizing |
pieswap.app serves Q5_K_M to desktop browsers and Q4_K_S to mobile devices:
mobile runs on CPU, where Q4_K_S processes the prompt about 1.7x faster and
downloads 15% less, at a negligible accuracy cost (see below).
Eval — v8 (Pieswap Spike harness, 354 cases)
| Model | Score |
|---|---:|
| LFM2.5-350M base (bf16, thinking off) | ≈50% on the original core set |
| Spike-350M v7 (Q5_K_M, in-browser) | 221/224 on the previous 224-case harness |
| Spike-350M v8 (bf16, merged) | 354/354 (100%) |
| Spike-350M v8 (Q5_K_M, in-browser via wllama) | 354/354 (100%) — under BOTH seeds 42 and 1337, zero flaky |
| Spike-350M v8 (Q4_K_S, in-browser via wllama) | 353/354 — dual-seed; single miss is one out-of-distribution slang phrasing (a settings read routed to wallet-status) |
The v8 harness grew from 224 to 354 held-out cases and now also covers:
prompt injection embedded in tool results (the model answers the user's
original question and ignores the smuggled instruction), send-to-address
scams (Pieswap has no transfer tool — the model says so instead of
hallucinating a call), disconnected-wallet gating incl. retry-after-refusal,
native-DUSK payout on liquidity removal (receiveNative), slippage
percent→bps conversion, fraction arithmetic chains ("a third of my dusk" —
balance read → exactly computed amount), spelled-out amounts ("one and a
half dusk"), price reads via pool ratio, creative slang for every tool, and
German/Dutch across the full surface.
Trained on a ≈14.9k-sample instruction dataset spanning distinct user
registers (terse/sloppy-typist, verbose, percentage flows, deep liquidity
management, wallet-gating contrastive pairs, German, Dutch, creative slang,
adversarial/injection, clarification and error recovery, multi-turn context),
extended with targeted sections addressing specific eval misses. LoRA r=64
all-linear on bf16, 2 epochs, completion-only loss, byte-identical to the
production chat template and message shapes (tool results re-fed as user
messages, assistant tool-call turns dropped).
Usage notes
- The LFM2.5 base family supports optional reasoning via the
enable_thinking chat-template kwarg. **This fine-tune was trained
entirely with thinking disabled** — run it with
enable_thinking: false. Thinking-on still works mechanically but is
off-distribution for these weights (untrained thinking traces, untested
tool accuracy, extra latency).
- Tool calls are emitted in LFM2.5's native format:
<|tool_call_start|>[execute_swap(tokenIn="DUSK", tokenOut="PIE", amountIn="10")]<|tool_call_end|>
— llama.cpp parses these into OpenAI-style tool calls when tools are passed.
- The system prompt must carry the Pieswap wallet-status line
(Wallet status: connected (…) / Wallet status: not connected.) — the
wallet-gating behavior is conditioned on it.
- The model is a narrow specialist for the Pieswap tool schema and system
prompt; it is not a general assistant.
License
Derivative of LFM2.5-350M under the LFM Open License v1.0.
Run Piecrust/Spike-350M-GGUF with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models