Instructions to use GenerallyTso/Sophro-4B-memory-v1 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 GenerallyTso/Sophro-4B-memory-v1 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 GenerallyTso/Sophro-4B-memory-v1:Q4_0 # Run inference directly in the terminal: llama cli -hf GenerallyTso/Sophro-4B-memory-v1:Q4_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf GenerallyTso/Sophro-4B-memory-v1:Q4_0 # Run inference directly in the terminal: llama cli -hf GenerallyTso/Sophro-4B-memory-v1:Q4_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 GenerallyTso/Sophro-4B-memory-v1:Q4_0 # Run inference directly in the terminal: ./build/bin/llama cli -hf GenerallyTso/Sophro-4B-memory-v1:Q4_0
Use Docker
docker model run hf.co/GenerallyTso/Sophro-4B-memory-v1:Q4_0
- Llama new
- LM Studio
- Jan
- vLLM
How to use GenerallyTso/Sophro-4B-memory-v1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "GenerallyTso/Sophro-4B-memory-v1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "GenerallyTso/Sophro-4B-memory-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/GenerallyTso/Sophro-4B-memory-v1:Q4_0
- Ollama
How to use GenerallyTso/Sophro-4B-memory-v1 with Ollama:
ollama run hf.co/GenerallyTso/Sophro-4B-memory-v1:Q4_0
- Unsloth Desktop
- Pi
How to use GenerallyTso/Sophro-4B-memory-v1 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf GenerallyTso/Sophro-4B-memory-v1:Q4_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": "GenerallyTso/Sophro-4B-memory-v1:Q4_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use GenerallyTso/Sophro-4B-memory-v1 with Docker Model Runner:
docker model run hf.co/GenerallyTso/Sophro-4B-memory-v1:Q4_0
- Lemonade
How to use GenerallyTso/Sophro-4B-memory-v1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull GenerallyTso/Sophro-4B-memory-v1:Q4_0
Run and chat with the model
lemonade run user.Sophro-4B-memory-v1-Q4_0
List all available models
lemonade list
- Hermes Agent
How to use GenerallyTso/Sophro-4B-memory-v1 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf GenerallyTso/Sophro-4B-memory-v1:Q4_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 GenerallyTso/Sophro-4B-memory-v1:Q4_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use GenerallyTso/Sophro-4B-memory-v1 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf GenerallyTso/Sophro-4B-memory-v1:Q4_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 "GenerallyTso/Sophro-4B-memory-v1:Q4_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"
Sophro-4B-memory-v1
Sophro is the on-device model of Zynkbot, a personal AI assistant that keeps its memory of you on your own devices. It is Qwen3-4B-Instruct-2507 fine-tuned for one habit: when it reads what you said, it stores what was said and nothing more. The name is from sophrosyne, the Greek word for soundness of mind and self-restraint.
Zynkbot downloads this file at first run and uses it for chat, memory extraction and memory linking on phones and computers, with no key and nothing sent anywhere.
File
| File | Format | Size | SHA-256 |
|---|---|---|---|
Sophro-4B-memory-v1-Q4_0.gguf |
GGUF, Q4_0 | 2.37 GB | da0a9b08e9be4f2a9d806b85f70ce90c824e8e0fb8fe53c79958a84e0c5f5b1b |
Q4_0 was chosen so that the same file serves the CPU, GPU and NPU paths on Snapdragon phones. Runs with llama.cpp and anything built on it. Context window as the base model; Zynkbot uses 4096 tokens on phones and 8192 on computers.
How it was trained
A LoRA adapter was trained on a single consumer GPU (about ten minutes a run) from two sources: 933 real user messages labelled by a stronger model (Claude) with the exact memory-extraction prompt Zynkbot sends, and 349 memory-relationship cases written by the same model, all filtered by the project's benchmark pass rules. The adapter was merged into the base model and the result quantised to Q4_0. The loss was taken on the answer only.
The training messages are one person's private conversations and are not published.
Results
Zynkbot's memory bench, 128 held-out cases that were never in the training data, phone prompt, 2026-10-28:
| Model | Facts found (of 69) | Invented | Junk (of 26) | Relationships (of 44) | Extraction time | Relationship time |
|---|---|---|---|---|---|---|
| Base Qwen3-4B Q4_0 | 66 | 7 | 0 | 28 | 0.30 s | 0.99 s |
| Sophro-4B-memory-v1 | 68 | 1 | 0 | 38 | 0.31 s | 0.21 s |
The six relationship misses are five "updates" called "contradicts" and one "none" called "related". Full method and the other benches: BENCHMARKS.md.
Standard benchmarks
Did the tuning cost the model anything else? Both models the exact Q4_0 files above, llama.cpp on one GPU, temperature 0, lm-evaluation-harness 0.4.13, 2026-11-02/03:
| Benchmark | Base Qwen3-4B Q4_0 | Sophro-4B-memory-v1 |
|---|---|---|
| IFEval, prompt-level strict | 81.3% | 81.2% |
| IFEval, prompt-level loose | 84.8% | 85.4% |
| GSM8K, 8-shot CoT, strict match | 80.0% | 83.8% |
| MMLU, 25 per subject, scored by the first answer letter | 71.6% | 71.4% |
Instruction following and knowledge are unchanged, arithmetic slightly better. Two honest notes: the harness's stock MMLU scorer wants the bare letter, and Sophro tends to write "D. 0,4" rather than "D", which the stock scorer counts as wrong (that line reads 54.7% against 24.0%; the first-letter score above is the one that measures knowledge). And on IFEval's 31 prompts that ask for a reply in another language, Sophro passes 23 against the base's 30: it tends to fall into repetition in Hindi, Marathi, Nepali and Bengali. On the 510 English prompts it is at 81.6% against 80.4%. Zynkbot uses it in English.
Prompt format
The Qwen3 chat template, as declared in the GGUF file. No thinking mode.
Licence
Apache-2.0, the same as the base model. Qwen3 is ยฉ Alibaba Cloud; the fine-tune is by Matt Skillman, Contain AI.
- Downloads last month
- 58
4-bit
Model tree for GenerallyTso/Sophro-4B-memory-v1
Base model
Qwen/Qwen3-4B-Instruct-2507