Text Classification
GGUF
jev-style
English
jev
openjev
decision-model
typed-decisions
bonsai
ternary
local-inference
blackwell
conversational
Instructions to use ajh-code/Jev-Bonsai-Compass with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- jev-style
How to use ajh-code/Jev-Bonsai-Compass with jev-style:
pip install jev-style # GGUF builds score through llama.cpp: build the jev-score binary once hf download ajh-code/Jev-Bonsai-Compass build_jev_score.sh jev_score.cpp --local-dir jev-score export JEV_SCORE_BIN=$(sh jev-score/build_jev_score.sh /path/to/llama.cpp | tail -n 1)
from jev_style import JevStyle, noul, choice js = JevStyle.from_pretrained("ajh-code/Jev-Bonsai-Compass") out = js.decide("I was charged twice for one order.", { "billing": noul("This message is about billing."), "team": choice("Which team should handle it?", ["billing", "shipping", "tech"]), }) print(out["answers"]["team"]["choice"]) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use ajh-code/Jev-Bonsai-Compass 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 ajh-code/Jev-Bonsai-Compass:Q2_0 # Run inference directly in the terminal: llama cli -hf ajh-code/Jev-Bonsai-Compass:Q2_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf ajh-code/Jev-Bonsai-Compass:Q2_0 # Run inference directly in the terminal: llama cli -hf ajh-code/Jev-Bonsai-Compass:Q2_0
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 ajh-code/Jev-Bonsai-Compass:Q2_0 # Run inference directly in the terminal: ./llama-cli -hf ajh-code/Jev-Bonsai-Compass:Q2_0
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 ajh-code/Jev-Bonsai-Compass:Q2_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf ajh-code/Jev-Bonsai-Compass:Q2_0
Use Docker
docker model run hf.co/ajh-code/Jev-Bonsai-Compass:Q2_0
- LM Studio
- Jan
- Ollama
How to use ajh-code/Jev-Bonsai-Compass with Ollama:
ollama run hf.co/ajh-code/Jev-Bonsai-Compass:Q2_0
- Unsloth Desktop
- Pi
How to use ajh-code/Jev-Bonsai-Compass with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ajh-code/Jev-Bonsai-Compass:Q2_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": "ajh-code/Jev-Bonsai-Compass:Q2_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use ajh-code/Jev-Bonsai-Compass with Docker Model Runner:
docker model run hf.co/ajh-code/Jev-Bonsai-Compass:Q2_0
- Lemonade
How to use ajh-code/Jev-Bonsai-Compass with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ajh-code/Jev-Bonsai-Compass:Q2_0
Run and chat with the model
lemonade run user.Jev-Bonsai-Compass-Q2_0
List all available models
lemonade list
- Hermes Agent
How to use ajh-code/Jev-Bonsai-Compass with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ajh-code/Jev-Bonsai-Compass:Q2_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 ajh-code/Jev-Bonsai-Compass:Q2_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use ajh-code/Jev-Bonsai-Compass with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ajh-code/Jev-Bonsai-Compass:Q2_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 "ajh-code/Jev-Bonsai-Compass:Q2_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"
Download source/bonsai_runtime/readout.py from ajh-code/Jev-Bonsai-Compass: direct link, hf CLI and curl.
- Browser
- Download file 2.68 kB
-
https://huggingface.co/ajh-code/Jev-Bonsai-Compass/resolve/main/source/bonsai_runtime/readout.py
- Command line
-
hf download hf://ajh-code/Jev-Bonsai-Compass/source/bonsai_runtime/readout.py
-
curl -L -o readout.py https://huggingface.co/ajh-code/Jev-Bonsai-Compass/resolve/main/source/bonsai_runtime/readout.py
2.68 kB
| """Letter readout extracted from the audited local analysis/letter_readout.py.""" | |
| import math,time | |
| LETTERS = [chr(65 + i) for i in range(26)] + [chr(97 + i) for i in range(26)] | |
| def prompt_for(state, instructions, options): | |
| lines = "\n".join(f"[{LETTERS[i]}] {k}: {d}" for i, (k, d) in enumerate(options)) | |
| return ( | |
| f"State:\n{state}\n\nQuestion: {instructions}\nOptions:\n{lines}\n\n" | |
| "Answer with the letter of the best option only." | |
| ) | |
| def letter_logprobs(choice, n): | |
| content = (choice.get("logprobs") or {}).get("content") or [] | |
| if not content: | |
| return {}, choice.get("message", {}).get("content"), None | |
| top = content[0].get("top_logprobs") or [] | |
| found = {} | |
| for item in top: | |
| token = item.get("token") or "" | |
| key = token if token in LETTERS else token.strip() | |
| if key in LETTERS and (key not in found or token in LETTERS): | |
| found[key] = item.get("logprob") | |
| return found, content[0].get("token"), content[0].get("logprob") | |
| def readout(client, state, instructions, options, scale=1.1, request_options=None): | |
| body = { | |
| "model": "qwen", | |
| "messages": [{"role": "user", "content": prompt_for(state, instructions, options)}], | |
| "max_tokens": 1, | |
| "temperature": 0, | |
| "logprobs": True, | |
| "top_logprobs": max(40, len(options)), | |
| "chat_template_kwargs": {"enable_thinking": False}, | |
| } | |
| if request_options: | |
| body.update(request_options) | |
| t0 = time.perf_counter() | |
| resp = client.post("/v1/chat/completions", body) | |
| dt = time.perf_counter() - t0 | |
| choice = resp["choices"][0] | |
| found, first_token, first_lp = letter_logprobs(choice, len(options)) | |
| raw = [found.get(LETTERS[i], -30.0) for i in range(len(options))] | |
| missing = [LETTERS[i] for i in range(len(options)) if LETTERS[i] not in found] | |
| scaled = [v / scale for v in raw] | |
| m = max(scaled) | |
| exps = [math.exp(v - m) for v in scaled] | |
| z = sum(exps) | |
| probs = [v / z for v in exps] | |
| order = sorted(range(len(options)), key=lambda i: probs[i], reverse=True) | |
| usage = resp.get("usage") or {} | |
| timings = resp.get("timings") or {} | |
| return { | |
| "probs": [ | |
| {"key": options[i][0], "letter": LETTERS[i], "p": probs[i], "logprob": raw[i]} | |
| for i in order | |
| ], | |
| "argmax": options[order[0]][0], | |
| "first_token": first_token, | |
| "first_logprob": first_lp, | |
| "missing_letters": missing, | |
| "seconds": dt, | |
| "prompt_tokens": usage.get("prompt_tokens"), | |
| "cached_prompt_tokens": (usage.get("prompt_tokens_details") or {}).get("cached_tokens"), | |
| "timings": timings, | |
| } | |