Rust + TypeSafe Jev judgment

Sift synthetic and pretraining datasets with Jev judgment

jev-curate streams Parquet and JSONL through a Jev evaluation pipeline, keeps rows that pass your rubric, and writes the rejects to a second file. Measured numbers in the benchmarks, no invented speeds.

Output unmetered. About $4.20 per 100M input tokens.

keep 812,044 of 1,000,000 rows 18.8% rejected
jev-curate --dry-run
$ jev-curate --input corpus.jsonl --preset reasoning-math --concurrency 32 --dry-run
[info] preset: reasoning-math
[info] concurrency: 32
[info] dry-run: no rows sent, no credits spent
[info] would keep 812,044 of 1,000,000 rows
[info] would reject 187,956 rows (18.8%)

LLM judges are an API call with a prompt bolted on

You paste a csv into a chat window and get grades back in prose. jev-curate treats judging as a pipeline: predefined rubrics, batched questions, typed answers, two output files ready for training.

Rubrics you can point at a file

Three presets ship with the binary. Each is a Jev evaluation template, not a regex or a rewriter.

reasoning-math

Grades chain-of-thought correctness and arithmetic soundness. Keeps steps that actually entail the answer.

keep

anti-sycophancy

Flags flattery that tracks the user instead of evidence. Common in RLHF and chat fine-tuning sets.

flag

code-correctness

Detects syntax breakage, hallucinated APIs and logic slips in code generation outputs.

keep

One command in, two files out

$ cargo install jev-curate
$ jev-curate --input corpus.parquet --preset anti-sycophancy --out ./curated/

The binary writes clean.jsonl with accepted rows and rejected.jsonl with the rest, plus structural stats. Run --dry-run first to see keep and reject counts before any row touches the API. Requires only a TYPESAFE_API_KEY.

Run it in six steps

  1. Install the binary with cargo install jev-curate or grab a release build.
  2. Export a TYPESAFE_API_KEY or run without one in dry-run mode.
  3. Point the CLI at a .jsonl or .parquet file with -i.
  4. Pick a preset with -p: reasoning-math, anti-sycophancy or code-correctness.
  5. Check what would change with --dry-run before spending a token.
  6. Run for real and read clean.jsonl and rejected.jsonl from the output folder.
FlagDefaultWhat it does
-i, --inputrequired.jsonl or .parquet input path
-p, --presetreasoning-mathrubric to evaluate against
-o, --out./curated/output directory
-c, --concurrency32parallel worker count
--dry-runoffcount before scoring; no key needed

Judgment at pipeline cost

1500+

rows per second, per worker target

$0.042

per million input tokens

free

output tokens, unmetered

444.6x

cheaper, TypeSafe System One workflow benchmark

Rates from the TypeSafe AI model docs; 444.6x figure is TypeSafe's own System One benchmark. 1500+ is the project target, benchmark runs live in the repo.

Ship better training data tonight

Built by

Akash Priyadarshi

Software engineer in Patna, Bihar, India. Maintainer of the Jev tooling family: jev-seo, jev-git, jev-superpowers and this sifter.