Instructions to use scribekey/sotto-scribekey-350m-gguf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use scribekey/sotto-scribekey-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 scribekey/sotto-scribekey-350m-gguf:Q8_0 # Run inference directly in the terminal: llama cli -hf scribekey/sotto-scribekey-350m-gguf:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf scribekey/sotto-scribekey-350m-gguf:Q8_0 # Run inference directly in the terminal: llama cli -hf scribekey/sotto-scribekey-350m-gguf:Q8_0
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf scribekey/sotto-scribekey-350m-gguf:Q8_0 # Run inference directly in the terminal: ./build/bin/llama cli -hf scribekey/sotto-scribekey-350m-gguf:Q8_0
Use Docker
docker model run hf.co/scribekey/sotto-scribekey-350m-gguf:Q8_0
- Llama new
- LM Studio
- Jan
- vLLM
How to use scribekey/sotto-scribekey-350m-gguf with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "scribekey/sotto-scribekey-350m-gguf" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "scribekey/sotto-scribekey-350m-gguf", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/scribekey/sotto-scribekey-350m-gguf:Q8_0
- Ollama
How to use scribekey/sotto-scribekey-350m-gguf with Ollama:
ollama run hf.co/scribekey/sotto-scribekey-350m-gguf:Q8_0
- Unsloth Desktop
- Pi
How to use scribekey/sotto-scribekey-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 scribekey/sotto-scribekey-350m-gguf:Q8_0
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "scribekey/sotto-scribekey-350m-gguf:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use scribekey/sotto-scribekey-350m-gguf with Docker Model Runner:
docker model run hf.co/scribekey/sotto-scribekey-350m-gguf:Q8_0
- Lemonade
How to use scribekey/sotto-scribekey-350m-gguf with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull scribekey/sotto-scribekey-350m-gguf:Q8_0
Run and chat with the model
lemonade run user.sotto-scribekey-350m-gguf-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use scribekey/sotto-scribekey-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 scribekey/sotto-scribekey-350m-gguf:Q8_0
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 scribekey/sotto-scribekey-350m-gguf:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use scribekey/sotto-scribekey-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 scribekey/sotto-scribekey-350m-gguf:Q8_0
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 "scribekey/sotto-scribekey-350m-gguf:Q8_0" \ --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"
Sotto 350M, ScribeKey tune, GGUF
A fine-tune of juanquivilla/sotto-cleanup-lfm25-350m
at revision 6df6f019170b8b55333c047b901886a51750a965, for on-device transcript cleanup with
llama.cpp. ScribeKey uses it for Smart Cleanup on Android.
It cleans up dictation the way Sotto does, and also applies spoken self-corrections that Sotto leaves in, and punctuates spoken lists:
- "send the draft to alex i mean jordan before lunch" becomes "Send the draft to Jordan before lunch."
- "um we need milk eggs bread and uh coffee" becomes "We need milk, eggs, bread and coffee."
Lists are written without a serial comma.
| File | Quantisation | Bytes | SHA-256 |
|---|---|---|---|
sotto-scribekey-350m-Q8_0.gguf |
Q8_0 | 379,215,776 | cd1929420e0c013c070a2f2cd12f95bfb42c955697589b4a056d498cbc8235c9 |
Prompt
The same as Sotto's:
<|startoftext|>### Input:
{transcript}
### Output:
The model was trained with the tokenizer's BOS (<|startoftext|>). Either tokenize the string
above with special-token parsing and no automatic BOS, or drop <|startoftext|> from the text and
let llama.cpp add the BOS. Decode greedily and stop at EOS (<|im_end|>) or at ###; the cleaned
text is everything before ###, trimmed.
How it was made
- Data: 2,066 training and 236 validation rows generated from ScribeKey's own synthetic dictation templates: fillers, repeats, self-corrections, spoken numbers, money, times and dates, names and product names to keep, questions and commands that must be cleaned, not answered or carried out, and spoken lists of two to four items, some with a corrected item. No third-party corpus and no text written by another model.
- Training: a LoRA (rank 16, alpha 32) on every LFM2 projection, 2 epochs, batch 8, learning rate 2e-4 with cosine decay, fp32 on CPU, using the exact prompt above. The adapter is merged into the weights.
- Export:
convert_hf_to_gguf.pyfrom the llama.cpp tree vendored in llama-cpp-python 0.3.36 to BF16, thenllama_model_quantizeto Q8_0.
ScribeKey evaluation
CleanBench v1 is ScribeKey's hidden benchmark: 3,366 English dictations spoken by text-to-speech and transcribed by three speech models. Scores are for the text the app inserts: ScribeKey's safety guard replaces any output that brings in a word, value or negation the speaker did not say with rule-based cleanup.
| Sotto 350M Q8_0 | Previous revision (b13e7b2) |
This revision, Q8_0 | |
|---|---|---|---|
| Right text inserted, all rows | 21.6% | 26.6% | 28.0% |
| Right text inserted, self-corrections | 2.1% | 10.1% | 13.9% |
| Right text inserted, questions to leave unanswered | 12.1% | 17.0% | 19.7% |
| Right text inserted, little to change | 58.0% | 61.1% | 62.7% |
| Inserted text with a value the reference lacks | 3.9% | 3.5% | 3.4% |
| Latency p50 / p95 (x86, 4 threads) | 249 / 619 ms | 228 / 568 ms | 212 / 515 ms |
On 30 hand-written spoken lists, this revision writes 29 exactly right; the previous revision wrote 12 and Sotto 5.
A second judge, TypeSafe's Jev, compared each output with the reference on hand-written dictations: this revision says the same thing more often than Sotto (63% against 58%) and adds or drops content no more often (6% against 6%).
Known gaps: a correction can occasionally be applied to the wrong word, and a transcript the speech model got wrong can still come back wrong.
Licence
The base model, LFM2.5-350M-Base, is licensed by Liquid AI, Inc. under the LFM Open License v1.0. Its grant for commercial use applies only to organisations with annual revenue under US$10 million. The Sotto fine-tune is published by juanquivilla under the MIT licence. This model is a derivative work of both and is distributed under the LFM Open License v1.0; see NOTICE for attribution and changes.
- Downloads last month
- 170
8-bit
Model tree for scribekey/sotto-scribekey-350m-gguf
Base model
LiquidAI/LFM2.5-350M-Base