La versione open e locale di Jev. Dai uno state, fai le tue domande: torna un sì/no, una classe, uno score o un numero, con le probabilità. Sul tuo computer. The open, local take on Jev. Give it a state, ask your questions: get back a yes/no, a class, a score or a number, with probabilities. On your own machine.
GPU Apple, NVIDIA, AMD, Intel o sola CPU · llama.cpp · nessuna chiave API, nessuna telemetria Apple, NVIDIA, AMD, Intel GPUs or CPU only · llama.cpp · no API key, no telemetry
Scegli un esempio e il tipo di risposta, poi dallo in pasto al riccio. Pick an example and an answer type, then feed it to the hedgehog.
Risposte e tempi reali, registrati da Spark-X2.5-4B Q8_0 con llama.cpp su una RTX 5060 Ti (mediana di 5 chiamate a caldo, prompt v3). Nessuna risposta è stata scelta o corretta a mano. Il viaggio dei dati è rallentato per farsi vedere; il riccio "pensa" davvero per quei millisecondi. Real answers and timings, recorded from Spark-X2.5-4B Q8_0 with llama.cpp on an RTX 5060 Ti (median of 5 warm calls, prompt v3). No answer was picked or fixed by hand. The data's journey is slowed down so you can see it; the hedgehog really "thinks" for that many milliseconds.
Ogni mossa è una decisione del modello: una POST /v1/decisions, zero token generati.
Every move is one model decision: one POST /v1/decisions, zero generated tokens.
Registrazione a velocità reale, non accelerata: 140 mosse in 25,6 s (≈ 5,5 al secondo), circa 150 ms a decisione andata e ritorno. Spark-X2.5-4B a 8 bit su una RTX 5060 Ti, registrata con il precedente runtime MLX (con llama.cpp ogni decisione è ~1,8× più veloce). È una sola partita, non un benchmark; la demo è inclusa nel backend su /snake.
Recorded at real speed, not sped up: 140 moves in 25.6 s (≈ 5.5 per second), about 150 ms per decision round trip. Spark-X2.5-4B at 8 bit on an RTX 5060 Ti, recorded with the earlier MLX runtime (llama.cpp is ~1.8× faster per decision). One game, not a benchmark; the demo ships with the backend at /snake.
La decisione è già nel modello dopo un solo passaggio: basta leggerla. The decision is already in the model after a single pass: you just read it.
Testo o JSON: un ticket, un CV, un log.Text or JSON: a ticket, a CV, a log.
Lo state si elabora una volta; la cache si riusa per ogni domanda.The state is processed once; its cache is reused for every question.
Ogni risposta possibile è una lettera. Si leggono solo quei logit.Every possible answer is a letter. Only those logits are read.
Valore + probabilità. Niente parsing, niente errori di tipo.Value + probabilities. No parsing, no type errors.
Stessa richiesta, stessa risposta: cambi solo l'URL. E la risposta dichiara sempre il modello locale. Same request, same response: you only change the URL. And the response always names the local model.
Forma della risposta; i valori qui sono illustrativi. Shape of the response; the values here are illustrative.
Per classificare, instradare, dare un punteggio, verificare. Dentro il tuo codice.To classify, route, score, verify. Inside your code.
Pesi open sul tuo Mac o sulla tua GPU NVIDIA. Nessun dato esce, nessuna chiave API.Open weights on your Mac or your NVIDIA GPU. No data leaves, no API key.
Un passaggio, nessun ciclo di generazione: circa 50 ms a decisione su una RTX 5060 Ti a 8 bit.One pass, no decoding loop: about 50 ms per decision on an RTX 5060 Ti at 8 bit.
boolean, choice, score, numeric. Fino a 26 opzioni per domanda.boolean, choice, score, numeric. Up to 26 options per question.
21 domande su uno state da ~2.000 token: 1,0 s con il prefill condiviso, 8,1 s senza (RTX 5060 Ti, 8 bit).21 questions on a ~2,000-token state: 1.0 s with the shared prefill, 8.1 s without (RTX 5060 Ti, 8 bit).
Astensione e fuori scala integrati: il valore diventa null, con uno status.Built-in abstention and out-of-range: the value becomes null, with a status.
Attenzione ibrida: ~36 KiB di cache per token. Il limite lo scegli tu con --ctx.Hybrid attention: ~36 KiB of cache per token. You pick the limit with --ctx.
Il playground incluso nel backend, in italiano e in inglese. The playground that ships with the backend, in Italian and English.
Senza sconti: dove siamo avanti e dove no.No sugar-coating: where we lead and where we don't.
| rizzo-flow | Jev (TypeSafe) | SemIf | |
|---|---|---|---|
| Dove giraWhere it runs | In locale · Metal, CUDA, Vulkan (AMD, Intel), ROCm, SYCL, CPULocal · Metal, CUDA, Vulkan (AMD, Intel), ROCm, SYCL, CPU | Servizio cloudHosted service | In locale · CUDA, MLXLocal · CUDA, MLX |
| Pesi openOpen weights | ✓ Spark-X2.5 | ✗ | ✓ Qwen3.5 |
| API HTTP stile JevJev-style HTTP API | ✓ | l'originalethe original | ✗ CLI |
| Primitiva numericaNumeric primitive | ✓ | ✗ | ✗ |
| Opzioni per domandaOptions per question | 26 | 255 | 16 |
| Probabilità calibrateCalibrated probabilities | le calibri tuyou calibrate | ✓ dichiarateclaimed | ✗ |
| Contesto in inputInput context | 1M token1M tokens | 32k | 262k |
Qualità su authored144Quality on authored144 | 0.845 | — | 0.819 |
Qualità su perturbations108Quality on perturbations108 | 0.946 | — | 0.766 |
Progetto indipendente, non affiliato a TypeSafe. Independent project, not affiliated with TypeSafe.
Mac, Windows o Linux, con GPU Apple, NVIDIA, AMD, Intel o senza GPU. Python 3.11+ e uv. Quattro comandi, niente da compilare: rizzo download scarica il runtime llama.cpp adatto alla macchina. *Verificato dal progetto su Windows + NVIDIA; segnalazioni pubbliche includono Mac M3 Pro/Metal e AMD/Intel con Vulkan. Dettagli dei test hardware.Mac, Windows or Linux, with an Apple, NVIDIA, AMD or Intel GPU, or none. Python 3.11+ and uv. Four commands, nothing to compile: rizzo download fetches the llama.cpp runtime for your machine. *Verified by the project on Windows + NVIDIA; public reports include Mac M3 Pro/Metal and AMD/Intel with Vulkan. Hardware test details.
git clone https://github.com/Rizzo-AI-Academy/rizzo-flow && cd rizzo-flow
uv sync --locked
uv run rizzo download # llama.cpp + 4B Q8_0, ~4.4 GB · --size 1.7b → ~1.8 GB
uv run rizzo serve # → http://127.0.0.1:8017/playground