Instructions to use MayaFdn/maya-twin-2b 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 MayaFdn/maya-twin-2b 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 MayaFdn/maya-twin-2b:Q4_K_M # Run inference directly in the terminal: llama cli -hf MayaFdn/maya-twin-2b:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf MayaFdn/maya-twin-2b:Q4_K_M # Run inference directly in the terminal: llama cli -hf MayaFdn/maya-twin-2b: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 MayaFdn/maya-twin-2b:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf MayaFdn/maya-twin-2b: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 MayaFdn/maya-twin-2b:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf MayaFdn/maya-twin-2b:Q4_K_M
Use Docker
docker model run hf.co/MayaFdn/maya-twin-2b:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use MayaFdn/maya-twin-2b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "MayaFdn/maya-twin-2b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MayaFdn/maya-twin-2b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/MayaFdn/maya-twin-2b:Q4_K_M
- Ollama
How to use MayaFdn/maya-twin-2b with Ollama:
ollama run hf.co/MayaFdn/maya-twin-2b:Q4_K_M
- Unsloth Desktop
- Pi
How to use MayaFdn/maya-twin-2b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf MayaFdn/maya-twin-2b:Q4_K_M
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": "MayaFdn/maya-twin-2b:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use MayaFdn/maya-twin-2b with Docker Model Runner:
docker model run hf.co/MayaFdn/maya-twin-2b:Q4_K_M
- Lemonade
How to use MayaFdn/maya-twin-2b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull MayaFdn/maya-twin-2b:Q4_K_M
Run and chat with the model
lemonade run user.maya-twin-2b-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use MayaFdn/maya-twin-2b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf MayaFdn/maya-twin-2b: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 MayaFdn/maya-twin-2b:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use MayaFdn/maya-twin-2b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf MayaFdn/maya-twin-2b: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 "MayaFdn/maya-twin-2b: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"
maya-twin-2b a8 (Qwen3.5-2B + LoRA, Q4_K_M)
Released 2026-10-24 by the Maya Foundation. Built and measured on a rented GPU through QVAC's own runner (llama.cpp). It is the model planned for Maya's on-device assistant; it is not yet in the Maya app.
- File
Qwen3.5-2B-mayaa8-Q4_K_M.gguf, 1,312,164,448 bytes, sha256bed4701b2325a2177cd36b6e82b773e0025144cc43cb13c763d6014afdc17d5a. - Base Qwen3.5-2B (Apache-2.0). One LoRA adapter on every layer, merged.
- Trained 2 epochs on 6,544 conversations: 4,694 tool-calling ones (teacher-made and hand-made, pinned by hash, the same data round six trained on) and 1,850 proactive ones whose answers are computed by code. The training data is synthetic (invented people, firms and places) and is not published here.
- Run greedy (temperature 0), reasoning off, 8,192 context. Speed measured on a GPU only: about 350 tokens/s, 313 ms per tool step; not measured on a phone.
What it is for
- The voice assistant's tool calls over the person's connected apps, one face per task.
- Six proactive formats, each answered as one JSON object: nudge, sort, safe (a chat), recall, protocol (agent-to-agent), card. Every action it produces is a proposal the person approves; money needs a fingerprint.
Results (counts)
eval-v5.2 (development set; tool-calling gates): step 39/41 (gate 37), flow 13/15 (12), clarify 8/10 (8, no spare case), speak 12/12 (11), attack 12/12 with 0 planted (11), face 6/6 with 0 leaks. eval-v2: steps 36/38, flows 12/12, attack 20/21, face 10/10, 0 planted, 0 leaks.
| Proactive | eval-p1 (development) | eval-p2 (held out) | claim |
|---|---|---|---|
| card | 27/30 | 30/30 | 80% |
| nudge | 24/30 | 23/30 (missed by one) | 80% |
| protocol | 30/30 | 30/30 | 80% |
| recall | 29/30 | 29/30 | 80% |
| safe: controls | 8/8 | 8/8 | 80% |
| safe: inject | 12/12 | 12/12 | 100% |
| safe: leak | 10/10 | 10/10 | 100% |
| sort (whole cases / items) | 21/40 / 90.8% | 27/40 / 93.8% | 80% / 90% |
eval-p2 was scored once, counts only, after the gates were met; its replies were not read. eval-v6.2 (a second held-out tool-calling set) was scored once for round six (steps 27/32, flows 7/12) and has not been scored for this model.
Known limits (say them in the app)
- Not shown to generalise on multi-step flows beyond eval-v5.2's kind: round six scored 7/12 flows on the held-out eval-v6.2.
- Nudges (which tasks are due) are right in 77 to 80% of cases: the app must choose the nudges in code (due date, snoozed, order, the cap) and use the model only for wording.
- A sorted face is right per item about 94% of the time: it is a suggestion the person can correct.
- The two safety behaviours (ignoring instructions inside a chat; not repeating another face's facts) held at 100% on the held-out set, but a trained refusal is a probability. The app must still keep other faces' facts out of a chat's context and accept a proposal only if it traces to the person's own message.
- Tested with English prompts only, on a stated fictional person; nothing private is in any test set.
Use
The GGUF carries its own chat template (thinking off). Run it with llama.cpp or any GGUF runtime with tool calling, greedy (temperature 0, repeat_penalty 1), 8,192 context. The tool-calling task expects the app's system prompt and a face-specific tool list; the six JSON formats expect their own system prompts, which Maya's app supplies. release.json lists the exact settings, checksum and template hash.
Licence and attribution
Apache-2.0. Fine-tuned from Qwen/Qwen3.5-2B (Apache-2.0, Alibaba Cloud's Qwen team); the changes are a LoRA fine-tune merged into the weights and quantised to Q4_K_M. Some training conversations were written with help from Qwen3.5-9B (Apache-2.0). The Apache-2.0 text is in LICENSE.
- Downloads last month
- -
4-bit