📈 GH Trending Explorer 🎲 Surprise me

← all repos

Rizzo-AI-Academy / rizzo-flow

git clone https://github.com/Rizzo-AI-Academy/rizzo-flow.git

The open, local take on Jev: typed decisions from an LLM, without generating a single token

+2
stars, 24h · #10,674
+~14
stars, 7 days · #9,899
+~60
stars, 30 days · #10,604
921
★ total · +2% this week
64
forks · 23 open issues

Star history (as recorded here)

2026-10-20 · 915 ★ 2026-10-23 · 921 ★
LanguagePython
LicenseApache-2.0
Created2026-09-21 (1mo ago)
Last push27d ago
Watchers10
OwnerOrganization

Links

README excerpt
# Rizzo Flow
### The open, local take on Jev: typed decisions from an LLM, without generating a single token
**_Unstructured state in → typed, probabilistic decisions out. On your own machine._**
 🌐 Website · A project by Rizzo AI Academy · 🇮🇹 Documentazione dettagliata in italiano 
**Rizzo Flow** is an open-source, local-first implementation of the idea behind
**Jev**, TypeSafe's "System One"
model: a *function call with judgment* that takes unstructured state and returns **typed decisions
with probabilities** — a yes/no, a choice among options, a score on a rubric, a number — instead
of text you then have to parse.
Jev is a closed, hosted service. Rizzo Flow gives you the same programming model **on your own
hardware, with open weights, and with the same HTTP interface**, so code written against the
TypeSafe API can point at `localhost` by changing one URL. It runs on
llama.cpp, so the hardware can be an Apple, NVIDIA, AMD
or Intel GPU, or no GPU at all.
> **Independent project.** Rizzo Flow is not affiliated with TypeSafe and does not reproduce Jev's
> proprietary architecture or its RLCD training. It reproduces the *interface pattern* with an
> open model (Spark-X2.5, with our own LoRA fine-tune on public data), in the
> spirit of SemIf, which inspired it. Probabilities are
> **uncalibrated** unless you calibrate them on your own data, and
> we make no claim of matching Jev or SemIf in quality. Every number below comes with its caveats.
**New: fine-tuned weights.** Since 25 September 2026 the default model is Spark-X2.5 with our own
LoRA fine-tune for typed decisions (how and on what). On the
`typed-decisions` benchmark, same GPU,
Q8_0:
| | Accuracy ↑ | KL from gold ↓ | Brier ↓ | ECE ↓ |
| --- | ---: | ---: | ---: | ---: |
| Spark-X2.5-4B, original | 0.574 | 2.899 | 0.480 | 0.349 |
| **Rizzo Flow 4B, fine-tuned** | **0.648** | **0.452** | **0.205** | **0.112** |
| TypeSafe Jev 1.13.0 (its dataset card) | 0.727 | 1.442 | 0.148 | – |
Better answers (+7.4 points) and much better-shaped probabilities, still below Jev in accuracy.
 🐍 Fast enough to play Snake — every move is one POST /v1/decisions . Recorded at real speed , not sped up:
140 moves in 25.6 s (≈ 5.5 per second), about 150 ms per decision round trip, 0 generated tokens . 
Spark-X2.5-4B at 8 bit on an RTX 5060 Ti, recorded with the earlier MLX runtime (today's llama.cpp runtime is ~1.8× faster per decision) · one game, not a benchmark · about the demo ↓ · run it yourself ↓ 
---
## Quickstart
You need Python ≥ 3.11, git and uv. The same four commands work on
macOS, Windows and Linux; nothing is compiled and no GPU toolkit is installed.
 [code] 
`rizzo download` is the only slow step, and it is all download: the model (4.4 GB) plus the
llama.cpp runtime (about 570 MB with CUDA, 30 MB with Vulkan, 11 MB on a Mac). An interrupted
download resumes where it stopped. In a hurry? `uv run rizzo download --size 1.7b` fetches a
1.8 GB model that is fine for a first look and much less accurate aft