Instructions to use openamer-max/openamer-max-phone 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 openamer-max/openamer-max-phone 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 openamer-max/openamer-max-phone # Run inference directly in the terminal: llama cli -hf openamer-max/openamer-max-phone
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf openamer-max/openamer-max-phone # Run inference directly in the terminal: llama cli -hf openamer-max/openamer-max-phone
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 openamer-max/openamer-max-phone # Run inference directly in the terminal: ./build/bin/llama cli -hf openamer-max/openamer-max-phone
Use Docker
docker model run hf.co/openamer-max/openamer-max-phone
- Llama new
- LM Studio
- Jan
- vLLM
How to use openamer-max/openamer-max-phone with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "openamer-max/openamer-max-phone" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openamer-max/openamer-max-phone", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/openamer-max/openamer-max-phone
- Ollama
How to use openamer-max/openamer-max-phone with Ollama:
ollama run hf.co/openamer-max/openamer-max-phone
- Unsloth Desktop
- Pi
How to use openamer-max/openamer-max-phone with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf openamer-max/openamer-max-phone
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": "openamer-max/openamer-max-phone" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use openamer-max/openamer-max-phone with Docker Model Runner:
docker model run hf.co/openamer-max/openamer-max-phone
- Lemonade
How to use openamer-max/openamer-max-phone with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull openamer-max/openamer-max-phone
Run and chat with the model
lemonade run user.openamer-max-phone-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use openamer-max/openamer-max-phone with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf openamer-max/openamer-max-phone
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 openamer-max/openamer-max-phone
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use openamer-max/openamer-max-phone with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf openamer-max/openamer-max-phone
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 "openamer-max/openamer-max-phone" \ --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"
OpenAmer-Max-Phone
Second tier of the OpenAmer-Max family โ a 3B assistant for smartphones and laptops. Runs offline, answers in 0.1โ0.5 s, and knows where its own limits are.
2,5 GB ยท Q6_K GGUF ยท Apache-2.0 ยท CPU-friendly
The family
Every tier is named after its hardware target, not after marketing:
| Tier | Parameters | Target |
|---|---|---|
OpenAmer-Max-Watch |
โค 1B | smartwatch โ released |
OpenAmer-Max-Phone |
1โ5B | smartphone โ this model: 3.09B |
OpenAmer-Max-Tab |
5โ10B | tablet |
OpenAmer-Max-Desktop |
10โ20B | desktop PC |
OpenAmer-Max-Pro โฆ Tera |
20Bโ10T | workstation โ cluster |
Measured results
All numbers on the released build, on an RTX 5060 Laptop (8 GB). Raw logs ship with the
release: proof-*.json.
| Test | Result |
|---|---|
| Frozen benchmark, 23 unseen cases (contamination-free) | 23/23 โ 100 % |
| Answer-token accuracy, held-out split | 98,76 % |
| Fresh test, 12 questions never in any training set | 12/12 โ 100 % |
| Shipped-form probe through Ollama | 7/7 |
| Base model without fine-tuning, same benchmark | 18/23 โ +5 cases from training |
| Latency | 0.08 โ 0.5 s ยท ~110 tok/s on CPU |
Benchmark categories all full: facts 7/7 ยท paraphrases 3/3 ยท refusals 5/5 ยท Bosnian 3/3 ยท Bosnian refusals 1/1 ยท long 1/1 ยท short 1/1 ยท edge 2/2.
What the fresh test caught that the benchmark could not: at stage 2 the model passed 23/23 while claiming "Ja. OpenAmer kann Musik generieren" โ an invented product capability โ and answered "Auf einem Android-Telefon. Android wird nicht unterstรผtzt" โ inverted. Both were fixed by targeted stages, not by more data.
What it does well
- Identifies itself correctly and answers product facts from supplied context (RAG)
- Refuses honestly: "Das weiss ich nicht" for unknowns โ verified, not hoped for
- Names its own boundaries: no music generation, no video, no telephony, no iOS
- Correct polarity on negation questions ("Auf einem iPhone. iOS wird nicht unterstรผtzt โ Android dagegen schon.")
- German free text in two or three sentences, plus Bosnian for direct questions
- Arithmetic in the 3-digit range, instantly
What it does not do
| Limitation | Example |
|---|---|
| No reliable general knowledge | capital of Italy โ may answer "Genoa" |
| No 4-digit multiplication | 86 ร 83 โ 7118 (correct: 7138) |
| Bosnian only for trained phrasings | unseen Bosnian wordings degrade |
| Free text is correct in content, not always in style | "โฆaus Ruckfall oder Aufregung" |
| Not a chatbot for essays | 3B budget: what one skill gains, another pays for |
Quick start (Ollama)
curl -L -o openamer-max-phone.gguf \
https://huggingface.co/openamer-max/openamer-max-phone/resolve/main/openamer-max-phone-q6.gguf
ollama create OpenAmer-Max-Phone -f Modelfile # Modelfile ships with the release
curl -s http://127.0.0.1:11434/api/chat -d '{
"model": "OpenAmer-Max-Phone",
"messages": [{"role":"user","content":"Was ist OpenAmer?"}],
"stream": false,
"options": {"temperature": 0}
}' | jq -r .message.content
Ein persoenlicher KI-Assistent, der lokal auf deinem Rechner laeuft und Aufgaben ausfuehrt. Entwickelt von Amer Sacirovic in der Schweiz.
How it was trained
| Base | Qwen/Qwen2.5-3B-Instruct (Apache-2.0) |
| Method | QLoRA 4-bit, LoRA r=32 ฮฑ=64 on all 7 projections โ 59.87 M trainable (3.4 %) |
| Data | 2 890 examples, 11 categories โ Watch categories + long text + platform + limits |
| Stages | 5 continuations, each starting from its own previous adapter at half the LR |
| Compute | 46 steps per stage, ~10 min, 4.19 GB VRAM, 8 GB consumer GPU |
| Release | merged โ GGUF f16 โ Q6_K (2,5 GB) |
Stage path: 22/23 โ 23/23 โ 23/23 โ 23/23 with fresh test 7/9 โ 11/12 โ 12/12. Token accuracy 94.74 % โ 97.38 % โ 98.31 % โ 98.76 %.
Two findings worth passing on:
repeat_penalty 1.1caused a factual error. The shipped model answered "Ne radi na Androidu" instead of "Ne radi na iPhoneu". The adapter, the merged model and the same model with a system prompt all answered correctly โ only the Ollama build with the token penalty flipped. Withrepeat_penalty 1.0it is right. For factual models, that parameter is harmful.- Rows-complete is not quality. Stage 5 had more fully-correct rows on the training distribution (82 % vs 80 %) and was worse outside (9/12 vs 12/12). Only the fresh test shows that.
How this was measured โ and when the test was wrong, not the model
Every number above has a script behind it. When a score dropped, the first question was always: "can my checker even accept the correct answer?"
- AND vs OR in keyword checks โ a synonym group checked with AND fails an answer that contains two of three correct words. Groups must be OR-linked.
- A refusal counted as a violation โ a safety answer ("I won't give instructions for that") was scored as a breach because the checker searched for the word "Anleitung".
- Diacritics scored as wrong language โ correct Bosnian was flagged as drift because
ฤ/ฤ/ลก/ลพ/ฤwere missing from the normalisation table. - A forbidden phrase that also appears in the correct answer โ "Nein. OpenAmer kann
Musik nicht erzeugen" was rejected because the forbid list held
"kann musik". Forbid entries must describe the false claim, not a word that occurs in a right answer. - An inverted polarity scored as correct โ "ล ta OpenAmer ne moลพe?" answered with
"Ne radi na Androidu" passed, because only
"ne radi"was required. A negation must be checked for which object it negates.
The sixth lesson, and the most expensive: repeat_penalty 1.1 in the Ollama Modelfile
flipped a negation from "does not run on iPhone" to "does not run on Android". The
adapter, the merged model and the same model with a system prompt all answered correctly
โ only the build with the token penalty failed. The penalty punishes exactly the words a
negation needs twice. Every card in this family ships repeat_penalty 1.0.
What the fresh test caught that the benchmark could not: at stage 2 this tier passed 23/23 while claiming "Ja. OpenAmer kann Musik erzeugen" (an invented capability) and answering "Android wird nicht unterstรผtzt" (inverted). Both were fixed by targeted stages. A frozen benchmark you optimise against will not show you this โ only questions that never appear in any training set will.
Support this project
OpenAmer is built by one person, without venture capital, on a laptop with 8 GB of VRAM.
PayPal: https://www.paypal.com/qrcodes/managed/bfb5b6b5-c04c-4836-af60-987dff8cff61
A โญ on GitHub helps as much as a donation.
Deutsch
OpenAmer-Max-Phone ist die zweite Stufe der OpenAmer-Max-Familie: ein 3B-Modell fรผr Smartphone und Laptop, das offline lรคuft, in 0,1โ0,5 s antwortet und seine eigenen Grenzen benennen kann.
- 2,5 GB (Q6_K), lรคuft auf CPU
- 23/23 auf einem eingefrorenen, kontaminationsfreien Prรผfstand
- 98,76 % Antwort-Token-Genauigkeit, 12/12 bei nie trainierten Fragen
- Grenzen werden benannt: keine Musik, kein Video, keine Telefonie, kein iOS
Fรผnf Etappen, jede aus dem eigenen Vorgรคnger โ 22/23 โ 23/23 โ 23/23 โ 23/23, Frischtest 7/9 โ 11/12 โ 12/12. Der Weg ist dokumentiert, damit er nachvollziehbar bleibt.
Gebaut von Amer Sacirovic in der Schweiz, ohne Konzern, auf einem Laptop mit 8 GB VRAM.
- Downloads last month
- 20
We're not able to determine the quantization variants.
