Instructions to use Piecrust/Spike-350M-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use Piecrust/Spike-350M-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="Piecrust/Spike-350M-GGUF", filename="Spike-350M-F16.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Piecrust/Spike-350M-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 Piecrust/Spike-350M-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf Piecrust/Spike-350M-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Piecrust/Spike-350M-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf Piecrust/Spike-350M-GGUF:Q4_K_M
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 Piecrust/Spike-350M-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Piecrust/Spike-350M-GGUF:Q4_K_M
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 Piecrust/Spike-350M-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Piecrust/Spike-350M-GGUF:Q4_K_M
Use Docker
docker model run hf.co/Piecrust/Spike-350M-GGUF:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use Piecrust/Spike-350M-GGUF with Ollama:
ollama run hf.co/Piecrust/Spike-350M-GGUF:Q4_K_M
- Unsloth Studio
How to use Piecrust/Spike-350M-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Piecrust/Spike-350M-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Piecrust/Spike-350M-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Piecrust/Spike-350M-GGUF to start chatting
- Pi
How to use Piecrust/Spike-350M-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Piecrust/Spike-350M-GGUF:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Piecrust/Spike-350M-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use Piecrust/Spike-350M-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 Piecrust/Spike-350M-GGUF:Q4_K_M
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 Piecrust/Spike-350M-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use Piecrust/Spike-350M-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Piecrust/Spike-350M-GGUF:Q4_K_M
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 "Piecrust/Spike-350M-GGUF:Q4_K_M" \ --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"
- Docker Model Runner
How to use Piecrust/Spike-350M-GGUF with Docker Model Runner:
docker model run hf.co/Piecrust/Spike-350M-GGUF:Q4_K_M
- Lemonade
How to use Piecrust/Spike-350M-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Piecrust/Spike-350M-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.Spike-350M-GGUF-Q4_K_M
List all available models
lemonade list
llm.create_chat_completion(
messages = "No input example has been defined for this model task."
)Spike-350M
Spike is the in-browser assistant of Pieswap, the DEX on the Dusk network. This model is a LoRA fine-tune of LiquidAI/LFM2.5-350M, 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_thinkingchat-template kwarg. This fine-tune was trained entirely with thinking disabled — run it withenable_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 whentoolsare 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.
- Downloads last month
- 451
4-bit
5-bit
16-bit
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="Piecrust/Spike-350M-GGUF", filename="", )