Text Classification
GGUF
OpenVINO
English
llama.cpp
decision-model
yes-no
zero-shot-classification
cpu
local
on-device
jev
conversational
Instructions to use feder-cr/jev 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 feder-cr/jev 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 feder-cr/jev:Q4_K_M # Run inference directly in the terminal: llama cli -hf feder-cr/jev:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf feder-cr/jev:Q4_K_M # Run inference directly in the terminal: llama cli -hf feder-cr/jev: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 feder-cr/jev:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf feder-cr/jev: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 feder-cr/jev:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf feder-cr/jev:Q4_K_M
Use Docker
docker model run hf.co/feder-cr/jev:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use feder-cr/jev with Ollama:
ollama run hf.co/feder-cr/jev:Q4_K_M
- Unsloth Desktop
- Pi
How to use feder-cr/jev with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf feder-cr/jev: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": "feder-cr/jev:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use feder-cr/jev with Docker Model Runner:
docker model run hf.co/feder-cr/jev:Q4_K_M
- Lemonade
How to use feder-cr/jev with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull feder-cr/jev:Q4_K_M
Run and chat with the model
lemonade run user.jev-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use feder-cr/jev with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf feder-cr/jev: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 feder-cr/jev:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use feder-cr/jev with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf feder-cr/jev: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 "feder-cr/jev: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"
|
Download README.md from feder-cr/jev: direct link, hf CLI and curl.
- Browser
- Download file 5.21 kB
-
https://huggingface.co/feder-cr/jev/resolve/main/README.md
- Command line
-
hf download hf://feder-cr/jev/README.md
-
curl -L -o README.md https://huggingface.co/feder-cr/jev/resolve/main/README.md
5.21 kB
| license: mit | |
| language: | |
| - en | |
| library_name: gguf | |
| pipeline_tag: text-classification | |
| tags: | |
| - gguf | |
| - openvino | |
| - llama.cpp | |
| - decision-model | |
| - yes-no | |
| - zero-shot-classification | |
| - cpu | |
| - local | |
| - on-device | |
| - jev | |
| <p align="center"> | |
| <img src="https://raw.githubusercontent.com/feder-cr/jev/main/assets/jevos-logo.png" alt="jevos logo" width="140"> | |
| </p> | |
| <h1 align="center">jevos-v4</h1> | |
| **Decisions on a laptop CPU in 28β130 ms.** Send a text and a question (yes/no, multiple choice or a score) | |
| and get back the probability of each answer, in TypeSafe Jev's API, on your own machine. Free and open source: | |
| an alternative to Jev that runs locally. | |
| <video controls autoplay loop muted playsinline width="100%" | |
| src="https://huggingface.co/feder-cr/jev/resolve/main/assets/jevos_vs_jev_snake.mp4"></video> | |
| *Same Snake game, same questions for both: jevos-v4 on a laptop answers in about 20 ms, Jev's cloud API in | |
| about 350 ms (mostly the network round trip), so the local snake makes many more moves in the same time.* | |
| ## Files | |
| | File | What it is | | |
| |---|---| | |
| | `model/` | the OpenVINO INT8 model that the `jev` binary runs (CPU) | | |
| | `jevos-v4-q4_k_m.gguf` | the same model as 4-bit GGUF, for llama.cpp and the tools built on it | | |
| | `jevos-v4-q8_0.gguf` | the same model as 8-bit GGUF | | |
| These are the same files as the [jevos-v4 release on GitHub](https://github.com/feder-cr/jev/releases/tag/jevos-v4); | |
| the SHA-256 of each is in that release's `SHA256SUMS.txt`. | |
| ## Quickstart | |
| Get the `jev` binary for your system from the [GitHub release](https://github.com/feder-cr/jev/releases/tag/jevos-v4) | |
| (Windows, Linux, macOS on Apple silicon), then put the model next to it: | |
| ```bash | |
| tar -xzf jev-linux-x64.tar.gz # Windows: unzip jev-windows-x64.zip | |
| hf download feder-cr/jev --include "model/*" --local-dir jev | |
| cd jev | |
| ./jev serve # Windows: jev.exe serve | |
| ``` | |
| ```bash | |
| curl http://127.0.0.1:8017/v1/systemone -H 'Content-Type: application/json' -d '{ | |
| "model": "jev-latest", | |
| "state": "I was charged twice for the same order.", | |
| "questions": {"billing": {"type": "noul", "instructions": "Is this a billing problem?"}}}' | |
| ``` | |
| ```json | |
| {"model": "jevos-v4", "answers": {"billing": {"type": "noul", "noul": 0.94}}, "usage": {"input_tokens": 27, "output_tokens": 0}} | |
| ``` | |
| One binary, CPU only, no Python. | |
| ## Benchmarks | |
| <img src="https://raw.githubusercontent.com/feder-cr/jev/main/assets/jevos_tasks.png" alt="Latency on a short / long request: jevos-v4 28 / 130 ms; Jev 311 / 314 ms; Qwen3.5-4B 3,060 / 4,761 ms; Laya 129 / 480 ms. Accuracy on 6 tasks (Admission policy, Rental policy, Rules and scenarios, Authority rules, Fraud points, Patent phrases): jevos-v4 0.95, 0.76, 0.76, 0.81, 0.50, 0.37; Jev 1.00, 0.91, 0.88, 0.98, 0.69, 0.59; Qwen3.5-4B 0.82, 0.60, 0.72, 0.78, 0.45, 0.18; Laya 0.54, 0.31, 0.55, 0.64, 0.25, 0.32" width="100%" /> | |
| Same questions for every system, through the same HTTP client. Latency is the median of 10 requests on an | |
| Intel Core Ultra 7 255H laptop, 16 threads, each text read from scratch. No task text was used to train | |
| jevos; five of the six sets helped choose the released checkpoint. | |
| | | **jevos-v4** | Jev | Laya | | |
| |---|:---:|:---:|:---:| | |
| | Yes/no questions | β | β | β | | |
| | Multiple choice | β | β | β | | |
| | Scores | β (early) | β | β | | |
| | Runs on | your machine | cloud | your machine | | |
| | Cost | free | per token | free | | |
| | Context | 8,192 tokens | not stated | 512 tokens | | |
| jevos-v4 is much faster than the cloud API and free, but less accurate than Jev on the harder tasks above | |
| (fraud points, patent phrases): check it on your own questions before relying on it. | |
| ## API | |
| `POST /v1/systemone`, in TypeSafe Jev's wire format: code written for Jev's SDK works unchanged for yes/no | |
| questions. One request can ask several questions about the same text, which is read once: | |
| ```json | |
| { | |
| "model": "jev-latest", | |
| "state": {"item": "wireless mouse", "customer_message": "The box arrived empty. This is the second time!"}, | |
| "questions": { | |
| "refund": {"type": "noul", "instructions": "Our policy refunds items reported missing within 30 days of delivery. Should this customer get a refund?"}, | |
| "team": {"type": "choice", "instructions": "Which team should handle this message?", | |
| "criteria": {"billing": "payments, refunds", "shipping": "deliveries, missing parcels", "tech": "a product that does not work"}}, | |
| "anger": {"type": "score", "instructions": "How angry is the customer?", "criteria": ["calm", "annoyed", "angry", "furious"]} | |
| } | |
| } | |
| ``` | |
| A `noul` returns P(yes); a `choice` the most probable option; a `score` the expected level. Choices and scores | |
| also return a probability per answer and a `confidence`: when it is low, send the case to a person. Put the | |
| rule in the question, and do sums in code. | |
| Options, memory use and building from source are in the [README on GitHub](https://github.com/feder-cr/jev#readme); | |
| guides and measurements are in the [wiki](https://github.com/feder-cr/jev/wiki). | |
| ## License and authors | |
| MIT. Built by [Federico Elia (@feder-cr)](https://github.com/feder-cr) together with | |
| [Loris Salsi (@LosaLosSantos)](https://github.com/LosaLosSantos). | |