Skip to content

Jev Prime

A chatbot with no language model: every word is chosen by Jev Choice questions from thousands of options, with lookahead and self-critique.

Serviceresearch

Overview

talk to jev (Jev Prime) is a chatbot with no language model. Every word is picked from a list by Jev, which can only choose among options. The project's claim, written up in a paper, is that generation is classification repeated with memory in between. Questions are asked at several grains: for the reply (what the user is doing, how much to say, how it feels, whether to look something up), for each sentence (what it does, who it is about, whether the reply is complete), for each word (one of about 150 function words, one of the user's words, or a kind of word), with lookahead when unsure, digit-by-digit for numbers, and a post-reply check of grammar, relevance and naturalness that rewrites weak sentences.

Per the list summary, words come from about 4,700 options, lookahead triggers when the top pick falls below 0.65, and beam search explores sentence directions. It can hold a conversation, keep mood across turns, echo the user's words, do small sums and use tools via per-tool yes/no questions. The author calls the code one quick, untidy implementation of the paper's idea. A live site runs with rate limits.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich word comes next?—
ChoiceWhat does the next sentence do?—
Yes / noWould it help to look up the time?yes · no
Yes / noIs the reply complete?yes · no

How it works

  1. Ask reply-level questions about intent, length and mood
  2. Plan each sentence with Choice questions
  3. Pick each word from function words, user words or word kinds
  4. Use lookahead when the top pick is uncertain
  5. Critique the reply and rewrite weak sentences

Strengths

  • Novel demonstration of generation by repeated classification
  • No templates or phrase banks
  • Paper and archived code available

Caveats

  • Output quality is limited and sometimes odd
  • Many sequential calls per reply
  • Code is described as untidy and iterative

Getting started

python3 -m venv .venv && ./.venv/bin/pip install -r requirements.txt, put an OpenRouter key in .env, then ./.venv/bin/python server.py

At a glance

Type
Service
Status
research
Language
Python
Runtime
Web server
Has code
yes

Use cases and integrations

How curated lists describe it

  • Text generation: a conversational agent with no language model, where every word is picked from ~4,700 options by Jev `Choice` questions one at a time, with confidence driving lookahead when the top pick falls below 0.65, beam search across sentence directions, and a self-critique loop that rewrites sentences scoring below threshold; live at talktojev.com, paper at doi.org/10.5281/zenodo.22940945.

    yibie/awesome-jev

Frequently asked questions

How can a choose-only model chat?

By choosing every word from options, with higher-level choices planning the reply and sentences.

Is there a paper?

Yes, on Zenodo, arguing that generation is repeated classification.

Can I try it?

Yes, at talktojev.com, with rate limits.

Related projects

  • Turns any local LLM into a Jev-style engine via masked-logit softmax, or proxies OpenAI-compatible APIs or Jev; includes a chat crush radar.

    ServiceprototypePython
  • Chat interface with no generative model: Jev picks intent, stance, claim and tone, and a deterministic compiler writes the reply.

    DemoprototypeTypeScript
  • TypeAR★ 946

    TypeLLM: Jev-inspired type-safe decoding for existing autoregressive LLMs on SGLang, with schema-guaranteed typed outputs.

    ProjectbetaPython
  • llama.cpp-based C++ server that turns any LLM into a System One decision model, reading answers from next-token logits.

    ProjectbetaC++
  • Decision-forensics library that explains a Jev answer by ablating parts of the input and measuring how far the probability moves.

    ProjectbetaPython
  • Adapter that turns existing LLMs into Jev-style decision functions with option scores, optional calibration and review thresholds.

    ProjectprototypePython