Skip to content

DocJev

Library, CLI and app that classify PDFs, DOCX and PPTX with Jev and split document packets at predicted boundaries.

Benchmarkbeta

Overview

DocJev classifies and splits documents using Jev plus local text extraction with LiteParse, with optional LlamaParse cloud OCR for difficult inputs. Given a PDF, DOCX or PPTX and natural-language category rules, classify returns one category with probabilities and review flags; split returns ordered categories and page ranges for a packet, with optional per-document PDF export; and a measure mode separates OCR and decision timing, provider usage and a small-LLM comparison.

According to the list summaries, it asks one typed question per page and per boundary in a single request. A visual report over 40 real IRS, Treasury, BEA and SEC documents shows a pilot that classified all 40 originals correctly at about 182 ms Jev decision p50, and correctly separates two adjacent Treasury auction results while keeping a ten-page statistical release together. It is an independent implementation, not LlamaIndex's hosted Classify or Split APIs, and is maintained entirely by Codex.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich category does this document belong to, per the natural-language rules?—
Yes / noDoes a new document start at this page boundary?(inferred)yes · no

How it works

  1. Extract page text locally with LiteParse (or LlamaParse)
  2. Ask Jev per-page and per-boundary questions in one request
  3. Return a category or ordered page ranges with probabilities
  4. Optionally export each split document as a PDF

Strengths

  • Fast decisions (about 182 ms p50 in the pilot)
  • Publishes manifest, per-call records and error analysis
  • Local extraction; cloud OCR optional

Caveats

  • Jev is hosted, so inference is not offline
  • Small 40-document pilot

Getting started

git clone https://github.com/jerryjliu/docjev.git, uv sync, export TYPESAFE_API_KEY, then uv run docjev doctor --smoke.

At a glance

Type
Benchmark
Status
beta
Language
Python
Runtime
library, CLI, local app
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • Document pipelines: LlamaIndex's open-source library that classifies a document against natural-language category rules or finds the boundaries between sub-documents, with swappable OCR backends (liteparse or LlamaParse) and a benchmark harness whose 40-document pilot classified 40/40 originals correctly at about 182 ms Jev decision p50.

    yibie/awesome-jev
  • Document classification and splitting: LiteParse extracts page text locally and Jev predicts each document's category or the boundaries between documents in a packet, with a visual report over 40 real government documents

    AnotiaWang/awesome-decision-models
  • A very fast document classifier/splitter using Jev.

    wh000wh000/awesome-jev-live
  • Classifies and splits PDF, DOCX and PPTX with Jev and local OCR, asking one typed question per page and per boundary in a single request. Ships the manifest, per-call records and error analysis behind its benchmark.

    MrJev/awesome-jev

Frequently asked questions

What can DocJev do?

Classify a document into categories you describe, or split a packet into its component documents.

Is it LlamaIndex's Classify API?

No, it is an independent implementation; LlamaParse is only optional OCR.

Does it work offline?

Text extraction is local, but Jev decisions require the hosted API.

Related projects

  • Classifies tax PDF pages into 261 IRS forms and 7 page kinds with one Jev request per page and a confidence gate.

    ProjectproductionTypeScript
  • Rust tool that asks Jev which PDF pages genuinely need OCR, extracting text pages locally and sending only the rest to OCR.

    ProjectbetaRust
  • Docker service that classifies the Paperless-ngx inbox with Jev (or local Clef via Ollama), setting confident fields and queueing the rest.

    Projectbeta
  • Daily pipeline that reads Spain's official gazette with Jev, scoring relevance, tagging categories and picking a summary paragraph.

    AppprototypeTypeScript
  • Bulgarian blog categoriser comparing Jev and local Laya on 50 posts, with a small local LLM naming new topics.

    AppprototypePython
  • Resume screening where an LLM writes the questions once per job and Jev answers them for every resume, quoting the evidence line.

    ProjectproductionTypeScript