Instructions to use VatsaIsHere/termaid 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 VatsaIsHere/termaid 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 VatsaIsHere/termaid # Run inference directly in the terminal: llama cli -hf VatsaIsHere/termaid
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf VatsaIsHere/termaid # Run inference directly in the terminal: llama cli -hf VatsaIsHere/termaid
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 VatsaIsHere/termaid # Run inference directly in the terminal: ./build/bin/llama cli -hf VatsaIsHere/termaid
Use Docker
docker model run hf.co/VatsaIsHere/termaid
- Llama new
- LM Studio
- Jan
- vLLM
How to use VatsaIsHere/termaid with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "VatsaIsHere/termaid" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "VatsaIsHere/termaid", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/VatsaIsHere/termaid
- Ollama
How to use VatsaIsHere/termaid with Ollama:
ollama run hf.co/VatsaIsHere/termaid
- Unsloth Desktop
- Pi
How to use VatsaIsHere/termaid with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf VatsaIsHere/termaid
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": "VatsaIsHere/termaid" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use VatsaIsHere/termaid with Docker Model Runner:
docker model run hf.co/VatsaIsHere/termaid
- Lemonade
How to use VatsaIsHere/termaid with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull VatsaIsHere/termaid
Run and chat with the model
lemonade run user.termaid-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use VatsaIsHere/termaid with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf VatsaIsHere/termaid
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 VatsaIsHere/termaid
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use VatsaIsHere/termaid with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf VatsaIsHere/termaid
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 "VatsaIsHere/termaid" \ --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"
|
Download README.md from VatsaIsHere/termaid: direct link, hf CLI and curl.
- Browser
- Download file 4.58 kB
-
https://huggingface.co/VatsaIsHere/termaid/resolve/main/README.md
- Command line
-
hf download hf://VatsaIsHere/termaid/README.md
-
curl -L -o README.md https://huggingface.co/VatsaIsHere/termaid/resolve/main/README.md
4.58 kB
| base_model: LiquidAI/LFM3-1.7B | |
| license: other | |
| license_name: lfm1.0 | |
| license_link: https://huggingface.co/LiquidAI/LFM3-1.7B/blob/main/LICENSE | |
| library_name: gguf | |
| pipeline_tag: text-generation | |
| tags: [gguf, lora, flowchart, mermaid, diagram] | |
| # termaid | |
| This is the diagram model behind [termaid](https://github.com/WorldOccupier/termaid), a Mac | |
| menu-bar app. You type or say what a process does in plain English, and termaid draws it as a | |
| Mermaid flowchart. The model runs entirely on your Mac. | |
| It's [LiquidAI/LFM3-1.7B](https://huggingface.co/LiquidAI/LFM3-1.7B) with a LoRA adapter merged | |
| in, quantized to Q6_K. The file is 1.43 GB. | |
| ## What it does | |
| termaid feeds the model one sentence at a time, along with the diagram so far. The model sends back | |
| the updated diagram as compact JSON, a list of `boxes` and a list of edges written as | |
| `[from, to, label]`. It never writes Mermaid. termaid checks the JSON and builds the Mermaid itself, | |
| so a bad reply can't produce broken syntax. A condition like "if the tests fail" becomes a decision | |
| box with yes and no branches. | |
| Don't expect it to chat. I trained it only on this per-sentence JSON format, and it won't write | |
| Mermaid if you ask it to. | |
| ## Files | |
| | File | Quant | Size | | |
| |---|---|---| | |
| | `termaid.gguf` | Q6_K | 1.43 GB | | |
| I ship Q6_K because Q4_K_M lost too much. On 55 holdout descriptions with v10, Q6_K matched the | |
| unquantized model's diagram 27 times and Q4_K_M only 17 times. Q4_K_M was about 15% faster, which | |
| isn't worth it. | |
| ## Usage | |
| The simplest route is the termaid app. The setup screen downloads this file and the app runs it with | |
| llama.cpp. | |
| To run it yourself, use LFM3's chat template with an empty `<think></think>` block and temperature | |
| 0. That matches how I trained it, with thinking turned off. Here's an Ollama Modelfile. | |
| ``` | |
| FROM ./termaid.gguf | |
| TEMPLATE """{{- if .System }}<|im_start|>system | |
| {{ .System }}<|im_end|> | |
| {{ end }} | |
| {{- range .Messages }} | |
| {{- if eq .Role "user" }}<|im_start|>user | |
| {{ .Content }}<|im_end|> | |
| {{ else if eq .Role "assistant" }}<|im_start|>assistant | |
| <think></think>{{ .Content }}<|im_end|> | |
| {{ end }} | |
| {{- end }}<|im_start|>assistant | |
| <think></think>""" | |
| PARAMETER stop "<|im_end|>" | |
| PARAMETER temperature 0 | |
| ``` | |
| You'll also need the system prompt and the per-sentence message format. Both live in the termaid | |
| repo under `src/`. | |
| ## Training | |
| I trained a rank-16 LoRA on LFM3-1.7B on Modal, merged it into the base model, and converted the | |
| result to GGUF. The run took 628 steps at an effective batch size of 16, about 1.33 epochs. A | |
| learning rate of 1e-4 diverged. | |
| The data has 7,550 training steps and 565 validation steps. Each step is one sentence, the | |
| diagram before it, and the diagram after it. They come from three places. | |
| - Template stories using vocabulary from software, hiring, healthcare, logistics, finance and | |
| kitchens. | |
| - About 300 long stories that Claude Sonnet wrote so that every sentence continues the flow. | |
| - About 300 stories aimed at two mistakes v10 kept making. It sent outcomes to the wrong box, and | |
| it hung decisions off the wrong step. | |
| Any step whose target diagram failed termaid's own structure checks got dropped. | |
| ## Evaluation | |
| None of these descriptions appear in the training data. | |
| The 55 regular holdouts include domains the model never saw, such as education, legal and | |
| manufacturing. | |
| | | v10 | v11 | | |
| |---|---|---| | |
| | Valid diagrams | 55 | 55 | | |
| | Clean, no structure problems | 42 | 41 | | |
| | Decisions with both outcomes | 45/59 | 46/61 | | |
| The 40 hard descriptions are long and dense. Claude Sonnet graded each diagram against its | |
| description. | |
| | | v10 | v11 | | |
| |---|---|---| | |
| | Correct, 0 major errors | 1 | 2 | | |
| | At most 2 major errors | 7 | 15 | | |
| | Total major errors | 152 | 137 | | |
| | Wrong target | 43 | 35 | | |
| Sonnet graded each diagram once, so treat a difference of 5 errors or so as noise. The drop in | |
| wrong targets is bigger than that, and so is the jump from 7 to 15 nearly-right diagrams. | |
| ## Limitations | |
| The model still struggles with long sentences that pack in several steps. It often handles the | |
| first half and drops the rest, so you lose an "otherwise" branch or the flow stops early. More | |
| training data barely moved this between v10 and v11. Now and then it adds an edge or box the text | |
| never mentioned. I've only trained and tested it on English. | |
| ## License | |
| The weights derive from LFM3-1.7B, so the | |
| [LFM Open License v1.0](https://huggingface.co/LiquidAI/LFM3-1.7B/blob/main/LICENSE) covers them. | |
| That license excludes commercial use by organizations with $10M or more in annual revenue. The | |
| termaid app code is MIT. | |