Instructions to use HamoAI/hamo-score-0.6b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use HamoAI/hamo-score-0.6b with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("HamoAI/hamo-score-0.6b") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use HamoAI/hamo-score-0.6b 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 HamoAI/hamo-score-0.6b # Run inference directly in the terminal: llama cli -hf HamoAI/hamo-score-0.6b
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf HamoAI/hamo-score-0.6b # Run inference directly in the terminal: llama cli -hf HamoAI/hamo-score-0.6b
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 HamoAI/hamo-score-0.6b # Run inference directly in the terminal: ./llama-cli -hf HamoAI/hamo-score-0.6b
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 HamoAI/hamo-score-0.6b # Run inference directly in the terminal: ./build/bin/llama-cli -hf HamoAI/hamo-score-0.6b
Use Docker
docker model run hf.co/HamoAI/hamo-score-0.6b
- LM Studio
- Jan
- vLLM
How to use HamoAI/hamo-score-0.6b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "HamoAI/hamo-score-0.6b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "HamoAI/hamo-score-0.6b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/HamoAI/hamo-score-0.6b
- Ollama
How to use HamoAI/hamo-score-0.6b with Ollama:
ollama run hf.co/HamoAI/hamo-score-0.6b
- Unsloth Desktop
- Pi
How to use HamoAI/hamo-score-0.6b with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "HamoAI/hamo-score-0.6b"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "HamoAI/hamo-score-0.6b" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use HamoAI/hamo-score-0.6b with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "HamoAI/hamo-score-0.6b"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "HamoAI/hamo-score-0.6b" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "HamoAI/hamo-score-0.6b", "messages": [ {"role": "user", "content": "Hello"} ] }' - Docker Model Runner
How to use HamoAI/hamo-score-0.6b with Docker Model Runner:
docker model run hf.co/HamoAI/hamo-score-0.6b
- Lemonade
How to use HamoAI/hamo-score-0.6b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull HamoAI/hamo-score-0.6b
Run and chat with the model
lemonade run user.hamo-score-0.6b-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use HamoAI/hamo-score-0.6b with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "HamoAI/hamo-score-0.6b"
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 HamoAI/hamo-score-0.6b
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use HamoAI/hamo-score-0.6b with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "HamoAI/hamo-score-0.6b"
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 "HamoAI/hamo-score-0.6b" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf HamoAI/hamo-score-0.6b# Run inference directly in the terminal:
llama cli -hf HamoAI/hamo-score-0.6bUse 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 HamoAI/hamo-score-0.6b# Run inference directly in the terminal:
./llama-cli -hf HamoAI/hamo-score-0.6bBuild 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 HamoAI/hamo-score-0.6b# Run inference directly in the terminal:
./build/bin/llama-cli -hf HamoAI/hamo-score-0.6bUse Docker
docker model run hf.co/HamoAI/hamo-score-0.6bhamo-score-0.6b — the little model that takes your pulse
A 0.6B model that reads one message from a wellness conversation, in Chinese or English, and returns five scores as one JSON object: Agency, Withdrawal, Extremity, Hostility, Boundary (AWEHB), each 0.0–3.0. It does not write replies; its scores feed deterministic code (stress update, state buckets, action gating). 中文说明见下方。
- Scores locally, on CPU. No external API, no conversation data leaving the machine. Distilled to do the job of the LLM scorer behind Hamo AI's production rubric (the reference scorer).
- Small, and fast enough for live use. 0.64 GB as q8 GGUF (base: Qwen3-0.6B). On an ARM CPU server through ollama, with the toolkit's prompt trimming: median 2.13 s per message, slowest 2.91 s of 138 synthetic items.
- Ready to wire in. The toolkit (
pip install hamo-score, Apache-2.0): prompt format, upstream keyword gate, one-command Docker server. - Free to use, commercially too. HAMO-RAIL-S 1.0, with use restrictions.
Message: 今天试着出门散了个步 (tried going out for a walk today), after the assistant asked 这周过得怎么样? (how was your week?)
Scores (v10):
{"A": 1.0, "W": 0.0, "E": 0.0, "H": 0.0, "B": 1.5}
A one-off walk is mid-band Agency; Boundary also credits a report of positive action.
Quickstart
pip install hamo-score
- Library:
score_message()runs the keyword gate first and skips scoring if it fires. - Server:
docker compose upinserver/of the toolkit repository serves v10 asPOST /scoreon port 8080. - Self-check:
python eval/run_exam.pyin a clone of the repository, against your own ollama endpoint (--base-url); the Docker server exposes only port 8080. - Weights:
gguf/hamo-score-0.6b-v10.q8.gguf. Sampling must be neutral (temperature 0,repeat_penalty 1.0,top_k 0,top_p 1.0): ollama's defaultrepeat_penalty 1.1pushes scores away from zero. The toolkit'sOllamaClientsends the last three with each request.
Prompt template, transformers snippet and Modelfile: technical record.
The five scores
| Score | What it reads (0.0–3.0 in steps of 0.5) | |
|---|---|---|
| A | Agency | Moving one's situation, or the helping relationship, forward: a decision, asking for help, a sustained healthy habit |
| W | Withdrawal | Giving up, avoiding, disengaging |
| E | Extremity | Catastrophizing chains, all-or-nothing thinking |
| H | Hostility | Attacking someone; venting without a target is not hostility |
| B | Boundary | Speaking clearly from an "I" position: a need, a limit, a stated position; calm self-description and reports of positive action also score high |
The scores are not meant to be read raw.
Numbers at a glance
| Measure | Result (v10, shipped q8 GGUF, llama.cpp with Metal, temperature 0) | Measured on |
|---|---|---|
| Same state bucket as the reference labels | 435 of 453 turns (96.0%) | real final exam |
| W, E and H within ±0.5 of the reference labels | 1,204 of 1,359 judgments | real final exam |
| A: the higher-agency message of a pair scores higher | 149 of 154 pairs | synthetic A exam |
| B: the higher-boundary message of a pair scores higher | 179 of 180 pairs | synthetic B exams |
| Scores within ±0.5 of the label, mean of the five | 87.3% | toolkit self-check, 195 synthetic questions; certifies wiring, not model quality |
| Unparseable outputs | 0 | six exams |
The real final exam is 453 pseudonymised turns from three consenting internal staff members, so these are not accuracy figures for the general population. The synthetic exams are in-distribution: passing shows no regression inside the known range, not generalisation.
What it is not
Not a chatbot, not a diagnostic instrument, not a crisis detector. It does not detect or handle crises, and none of its scores, W included, is a crisis signal. Crisis handling is the job of deterministic code that runs before the model: the toolkit's keyword gate is a starting point, not a complete screen, and LICENSE §3c makes an independent upstream mechanism a condition of consumer-facing mental-wellness deployments.
Evaluation
v10 met 17 of the 18 checks of its signed pre-registration. The one it did not meet, G5a, was a stand-in for crisis handling, which the founder ruled outside this model after seeing the result; under the registration as signed the verdict was "rejected", and v10 is released by the founder's decision. The reported checks, exams and method are in the technical record.
Limitations & known residuals
- Scores are not comparable across v7, v9 and v10. Store the version with every score.
- A follows a newer rubric (v8) with no measurement on real conversations yet.
- B can flip sign. With no context, v10 scores B 2.5 on a known self-erasure sentence (giving up one's own position) whose correct B is 0; v7 and v9 score it 0.
- The exams are narrow and reused. The real ones cover three staff members and have judged earlier versions.
- Check the toolkit's stress cut-offs on your own data before they gate anything.
- Full list: technical record.
Training data
Synthetic conversations labelled by an open-weight teacher model, plus 440 pseudonymised turns from consenting internal staff. External user conversations never enter training. Training messages: 76.0% Chinese, 13.1% English, 10.9% mixed; results were not broken down by language.
Versions and files
- v10 is the default on
mainsince 2026-10-06 (UTC). Pin it withrevision="f3869312f0222992c3eb2e938e78090de38eb80a". - Files:
gguf/hamo-score-0.6b-v10.q8.gguf; the v9, v7 and v6.1 GGUFs stay ingguf/. Digests and rollback commands: technical record. - Coming from v9: its narrower B rubric makes computed stress drift upward wherever B has a negative weight, and re-tuning thresholds does not repair it. Move to v10 (or back to v7); do not carry over stress accumulated from v9 scores (full correction).
Links and license
- Toolkit: GitHub · PyPI · integration guide · FAQ · fine-tuning guide.
- Everything else: technical record.
- Disagree with a score? Open a disagreement report.
- License: HAMO-RAIL-S 1.0 (LICENSE): free commercial and non-commercial use, modification and redistribution, with four use restrictions that pass on to recipients (§3a–d). It is deliberately not an OSI-approved open-source license.
中文
给每句话把脉的小模型:0.6B,读心理支持对话里的一条消息(中文、英文都行),输出一个 JSON 对象,里面是五个分数:行动力、退缩、极端化、敌意、边界感(AWEHB),各 0.0–3.0。它只打分,不写回复;分数是给确定性代码用的(压力更新、状态桶、动作门控)。
- 本地评分,CPU 就能跑。 不调外部 API,对话数据不出机器。它学的是 Hamo AI 按生产口径打分的大模型评分器(参照评分器)。
- 小,而且快到能实时用。 q8 GGUF 0.64 GB(基座 Qwen3-0.6B)。在跑 ollama 的 ARM CPU 服务器上,提示词按工具包规则截短,每条消息中位 2.13 秒,138 道合成题里最慢 2.91 秒。
- 拿来就能接。 工具包(
pip install hamo-score,Apache-2.0):提示词格式、放在模型上游的关键词闸门、一条命令启动的 Docker 服务。 - 可自由使用,商用也行。 许可证是 HAMO-RAIL-S 1.0,附使用限制。
消息: 今天试着出门散了个步(上一句是助手问「这周过得怎么样?」)
打分(v10):
{"A": 1.0, "W": 0.0, "E": 0.0, "H": 0.0, "B": 1.5}
单次散步算中档的行动力;边界感的口径也给「报告积极行动」记分。
快速上手
pip install hamo-score
- 库:
score_message()先跑关键词闸门,命中就不评分。 - 服务: 在工具包仓库的
server/下执行docker compose up,8080 端口POST /score,跑的是 v10。 - 自检: 克隆仓库后运行
python eval/run_exam.py,对着自己的 ollama 服务(--base-url);Docker 服务只开放 8080 端口。 - 权重:
gguf/hamo-score-0.6b-v10.q8.gguf。采样必须取中性值(温度 0、repeat_penalty 1.0、top_k 0、top_p 1.0):ollama 默认的repeat_penalty 1.1会把分数从 0 往上推。工具包的OllamaClient每次请求都带后三项。
提示词模板、transformers 代码和 Modelfile 见技术档案。
五个分数
| 分数 | 读的是什么(0.0–3.0,步长 0.5) | |
|---|---|---|
| A | 行动力 | 主动推动处境或疗愈关系向前:做决定、主动求助、坚持健康习惯 |
| W | 退缩 | 放弃、回避、抽离 |
| E | 极端化 | 灾难化连锁、非黑即白 |
| H | 敌意 | 攻击某个人;没有对象的抱怨不算 |
| B | 边界感 | 站在「我」的位置把需要、界限、立场说清楚;平静有条理的自述、报告积极行动也给高分 |
分数不是直接读的。
关键数字
| 指标 | 结果(v10,随包 q8 GGUF,llama.cpp + Metal,温度 0) | 考卷 |
|---|---|---|
| 与参照标签落在同一个状态桶 | 453 轮中 435 轮(96.0%) | 真实终评 |
| W、E、H 与参照标签相差不超过 0.5 | 1,359 个判断中 1,204 个 | 真实终评 |
| A:成对题里行动力更高的一条得分更高 | 154 对中 149 对 | 合成 A 卷 |
| B:成对题里边界更清楚的一条得分更高 | 180 对中 179 对 | 两份合成 B 卷 |
| 与标签相差不超过 0.5(五维平均) | 87.3% | 工具包自检卷,195 道合成题;考过只说明接线对,不说明模型打得对 |
| 无法解析的输出 | 0 | 六份考卷 |
真实终评是三位已同意的内部员工的 453 轮对话,已假名化,所以这些不是一般人群上的准确率。合成考卷与训练同分布:考过只说明已知范围内没有退步,不说明能推广。
它不是什么
不是聊天机器人,不是诊断工具,也不是危机检测器。它不识别也不处理危机;它的分数,包括 W 在内,没有一个是危机信号。危机处理由先于模型运行的确定性代码负责:工具包的关键词闸门只是起点,不是完整筛查;面向消费者的心理健康部署,上游必须有独立机制,这是许可条件(LICENSE §3c)。
评测
签字版预注册的 18 项检查,v10 过了 17 项。没过的那一项 G5a 当初是作为危机处理的替代指标设的;创始人看到结果后裁定,危机处理不在本模型里判定。按签字版预注册,判定是「拒收」;v10 由创始人决定发布。已报告的各项检查、考卷和方法,都在技术档案里。
已知局限
- v7、v9、v10 的分数互不可比。 分数要连同版本一起存。
- A 用较新的 v8 口径,还没有真实对话上的测量。
- B 可能判反(符号翻转)。 一句已知的自我消融短句(放弃自己的立场),不带上下文时 v10 打 B 2.5,正确的 B 是 0;v7、v9 打 0。
- 考卷窄,而且反复用过。 真实考卷只覆盖三位员工,也给此前的版本判过卷。
- 工具包里压力分桶的阈值,请先用自己的数据核对,再让它把关。
- 完整清单见技术档案。
训练数据
合成对话由开放权重的教师模型打标,另有 440 轮假名化的内部员工对话(经本人同意)。外部用户的对话从不进入训练。训练消息里中文占 76.0%,英文 13.1%,中英混杂 10.9%;成绩没有按语言拆开测。
版本与文件
main自 2026-10-06(UTC)起默认是 v10。固定版本请用revision="f3869312f0222992c3eb2e938e78090de38eb80a"。- 文件:
gguf/hamo-score-0.6b-v10.q8.gguf;v9、v7、v6.1 的 GGUF 仍在gguf/下。校验和与回退命令见技术档案。 - 从 v9 过来: v9 的 B 用的是更窄的口径,喂进 B 为负权重的压力公式,算出的压力会向上漂,重调阈值修不了。请换 v10(或退回 v7),按 v9 分数累积的压力值不要沿用(完整更正)。
链接与许可证
- Downloads last month
- 3,424
Quantized
Install (macOS, Linux)
# Start a local OpenAI-compatible server with a web UI: llama serve -hf HamoAI/hamo-score-0.6b# Run inference directly in the terminal: llama cli -hf HamoAI/hamo-score-0.6b