Skip to content

jevchat

Experiment that deliberately misuses Jev as a text generator by asking which symbol comes next and sampling from the returned distribution.

Projectresearch

Overview

jevchat turns Jev, a model that does not generate text, into a chat model as an experiment. At every step it asks Jev one question: given the user's question and the reply so far, which symbol comes next? The options are an alphabet plus a stop option; Jev returns a probability for each, the sampler draws the next symbol, and the loop repeats until stop is drawn. The author calls the idea fun, the cost somewhat impractical and the results hilarious, and notes the implementation was accelerated with Claude.

Strategies include a single choice over the whole alphabet (with shuffling to cancel position bias, or an ensemble of reorderings), bisecting the sorted alphabet with earlier/later yes-no questions, bucketing across many questions with an other escape (the only way past 255 symbols), and a refine strategy that rescans winners. Alphabets range from a to z up to word and BPE token lists, options can be bare symbols or full hypothesis texts, and beam search is supported. A bench command compares modes and a live panel shows symbols per second and the top-scored symbols. Listings note a Hacker News thread with 173 points and 49 comments framing it as a way to find where typed decisions stop being useful.

What the decision model decides

TypeQuestionAnswers
ChoiceGiven the question and reply so far, which symbol comes next (or STOP)?—
Yes / noIs the next symbol earlier or later in the sorted alphabet? (bisect strategy)—

How it works

  1. Present the conversation and partial reply as state
  2. Ask for the next symbol over an alphabet with a stop option
  3. Sample from the returned distribution
  4. Append and repeat until stop

Strengths

  • Illuminates position bias and option-count limits
  • Several strategies to exceed 255 options
  • Live readout of distributions

Caveats

  • Deliberately impractical and costly
  • Output quality is poor by design

Getting started

poetry install, put your key in .env, then `poetry run jevchat`.

At a glance

Type
Project
Status
research
Language
Python
Runtime
CLI
Has code
yes

Use cases and integrations

How curated lists describe it

  • Repo + HN thread (173 points, 49 comments): deliberately misuses Jev as a generator to locate where the typed-decision model stops being useful.

    yibie/awesome-jev
  • Turns a decision model into a chat model by asking which symbol comes next, then sampling from the returned distribution.

    MrJev/awesome-jev

Frequently asked questions

Is this a practical chat model?

No, the author describes it as fun, impractical in cost and hilarious in output.

How does it get past 255 options?

The buckets strategy splits the alphabet across many questions, each with an other escape.

Why do it?

To probe where a typed decision model stops being useful.

Related projects

  • ChatGPT-style web chat where every word of every reply is a Jev multiple-choice decision over a ~1,800-word vocabulary plus END.

    ProjectprototypeTypeScript
  • Chat client that makes Jev write by asking Next word? over a 20,000-word dictionary in 255-word buckets plus a run-off.

    ProjectresearchPython
  • Steve Krouse's post launching Jev Typewriter, a playable demo built on 16 Jev judgments, with a video.

    Discussiondiscussion
  • Show HN thread for jev-bisect, a pip package that finds answers with Jev by bisection search over options or ranges.

    DiscussiondiscussionPython
  • Toy chat that makes Jev talk by repeatedly choosing its next word from a tiny caveman vocabulary.

    ProjectprototypeTypeScript
  • Local browser app that turns Jev's per-pixel colour probability distributions into textured paintings.

    Browser extensionprototypeJavaScript