mrkeyoor.com_
Fri 16 Oct 18:51 UTC
AI Toolsevaluationupdated 16 Oct 2026

jeeves review

Jeeves is a self-hosted model that answers yes/no, multiple-choice, and rating questions about text, returning probabilities your application can use. It can generate reasoning before choosing an answer and provides an API compatible with Jev-style decision workflows.

Verdict

Our Jeeves install used 5,696 MB for 98 packages and passed its build, but our sandbox skipped tests and did not validate inference. Try it for local decisions when you can evaluate probabilities on your own labelled examples and operate suitable hardware. Keep it away from automatic high-consequence routing until the error costs and fallback behavior are measured.

We ran it

Lab card: what happened when we ran jeevesScreenshot of jeeves (github.com/PostHog/jeeves)
Install✓ · 38s98 packages · 5696 MB
Build✓ · 1s
Testsn/ano test script
Known vulns0(pip-audit)
Repo63 files~8,862 lines of source · 1.1 MB · 0 CI workflows

Answers from our run

Does jeeves build from source?

Dependencies installed in 38 seconds (98 packages), and the build succeeded in 1 seconds. We cloned commit 3f948de into a clean Debian container with 3 CPUs and no project-specific setup.

Does jeeves have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does jeeves have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use jeeves?

CPU-only servers: the documented quick start requires CUDA, with Apple Silicon as the other stated inference route.

What are the alternatives to jeeves?

Kev, SetFit. Our Jeeves install used 5,696 MB for 98 packages and passed its build, but our sandbox skipped tests and did not validate inference.

Setup2/538-second install works; serving still needs weights and hardware
Docs4/5Detailed API, hardware, training, and limitations guidance
Community2/5Recent device work; small queue and no published release
Maturity2/5Build passes; inference and application accuracy remain unverified

Who it’s for

Engineers building local text-routing or decision services with explicit answer choices.
Researchers who want the model, decision head, and training recipe in the same repository.
Existing Jev SDK users prepared to operate compatible inference on their own hardware.

Who it’s NOT for

CPU-only servers: the documented quick start requires CUDA, with Apple Silicon as the other stated inference route.
Applications requiring predictable short response times: the README warns about long reasoning tails and provides truncation controls.
Teams expecting readable explanations as an audit trail: the limitations section says reasoning chains are not reliably interpretable.
Operators expecting built-in API-key protection: the SDK documentation says keys are accepted and ignored.

Setup reality

Our sandbox installed commit 3f948de in 38 seconds: 98 packages occupied 5,696 MB. The build succeeded in 1 second. Tests were skipped because the harness found no script or target, and pip-audit reported 0 known vulnerabilities.

The documented inference path needs Python 3.12, downloaded model and drafter weights, and CUDA or a suitably equipped Apple Silicon Mac. The Python client uses a local endpoint by default and needs no hosted API credential.

Our CPU sandbox did not establish model-serving behavior. Cache sizing and precision affect hardware requirements. The lab found no CI workflows, Dockerfile, or tests directory, though the source documents device-specific checks. Protect any shared endpoint outside the supplied API-key behavior.

Jeeves returns decisions your application can act on

Jeeves accepts text and questions with defined answer choices. A support message, for example, can produce a department choice alongside an urgency rating. The response includes probabilities rather than leaving your application to parse a paragraph. That makes the project interesting for routing work where a fallback depends on uncertainty, provided those probabilities behave sensibly on the messages your users actually send.

Our checkout was only 1.1 MB, with 63 files and about 8,862 source lines, but the installed environment reached 5,696 MB. The small repository hides a substantial runtime commitment. Jeeves combines a Qwen-based model with a decision head, optional reasoning, and a diffusion drafter that helps generate that reasoning. The value depends on better decisions justifying the extra inference machinery.

What happened when we ran it

Our Jeeves run installed 98 packages in 38 seconds and completed its build in 1 second. We measured commit 3f948de on October 15, 2026, in an unprivileged Debian container with 3 CPUs and 8 GB of RAM. The image was the uv Python 3.12 Bookworm image, and the container held no secrets. Installation occupied 5,696 MB on disk.

Tests were skipped because our harness found no script or target. Pip-audit reported 0 known vulnerabilities in the audited environment. The scan also found no CI workflow files, Dockerfile, or tests directory. Those findings describe our measured path. They do not establish that a model request succeeds, that the probabilities are calibrated for your workload, or that the server is ready for shared traffic.

The distinction matters because the README names device-specific checking modules even though our harness did not discover a test target. Source-level checks and an automatically executed suite are different evidence. Our 38-second install confirms that dependency setup completed in that container. It gives no result for the CUDA or Metal kernels, and there is no inference latency or decision-accuracy measurement from our lab to report.

A local client still requires a model-serving machine

Python 3.12 is the documented runtime, followed by downloading the model and drafter weights. CUDA is the quick-start route, and the README also describes Apple Silicon inference with reduced cache settings. Its Mac advice is specific: default caches can exhaust available memory and cause swapping. Size the cache for the questions you intend to submit rather than treating a successful weight download as sufficient preparation.

The Jeeves SDK documentation says the client targets localhost by default and can use JEEVES_BASE_URL. No API key is required, and a supplied key is ignored. For a desktop experiment, that avoids a hosted credential. For a shared service, arrange access control before changing the bind address. The included client accepting a key does not mean the server enforces one.

Reasoning controls trade work for a bounded answer

The server exposes max_think to truncate reasoning and nothink_threshold to bypass it when the immediate answer is sufficiently confident. Both are useful controls for a queue of routine classifications mixed with harder cases. They also change the decision procedure. An application should compare their outputs on the same labelled messages before choosing a default just because it reduces waiting.

That evaluation sits beyond our 1-second build result. The README warns that knowledge questions trail Jev and that reasoning has slow tails. It also admits that comparisons outside JevBench use different items drawn from shared sources. Those qualifications make the published results easier to interpret, but they prevent a simple claim that Jeeves will beat another classifier on your customer tickets or policy rules.

Generated reasoning is a poor substitute for an explanation policy

The limitations section says Jeeves received no language-consistency reward and its reasoning chains are not reliably interpretable. Turning on return_reasoning therefore gives you model-generated text, without establishing a faithful explanation of why the final choice is correct. A workflow that must explain a rejected application or disputed escalation needs a stronger evidence trail than that optional response field.

The measured environment contains 98 packages, while the application still owns its labels, thresholds, and error handling. For routing, I would retain the input, selected answer, probability distribution, and eventual human correction. A changed description of a department can change the model's task even if the Python packages stay pinned. Evaluate those descriptions alongside the checkpoint and precision settings you intend to deploy.

October activity concerns inference and training correctness

The last push was October 1, 2026, and recent closed pull requests address CUDA inference and Apple Silicon weight loading. GitHub listed 423 stars and 5 open issues and PRs. There was no latest published release. Recent code work and specific discussion show maintenance, while the missing release means adopters should pin a commit and matching weights rather than infer a stable version contract.

Open pull request 6 concerns soft targets inherited after a training example's answer choices change. It is relevant if you retrain the model, rather than proof that a downloaded checkpoint fails a request. Compare Kev's decision-model family for another compatible approach, or SetFit for fixed-label classification. Choose Jeeves when its reasoning produces a demonstrable improvement on decisions you can grade yourself.

Alternatives

ProjectWhat it isPick it when
Kev gh↗A family of self-hosted decision models with a Jev-compatible API.pick this instead when you want to compare several model sizes before adopting reasoning-based decisions.
SetFitA library for training text classifiers from small labelled datasets.pick this instead when the labels are fixed and you can train a dedicated classifier instead of serving a reasoning model.

What people are saying

  1. [velocity-scout] PostHog/jeeves
  2. [hackernews] Jeeves. Reasoning improves Jev-like decision models

Sources

  1. Jeeves README and limitations
  2. Python SDK behavior
  3. HTTP serving implementation
  4. Training soft-target correction proposal
  5. CUDA inference work
  6. Jeeves repository activity

More ai tools reviews

universal-modder · DeepEP-Ascend · DeepGEMM-Ascend · hypoarena · faster-whisper · HeliosGen · the whole board →