Skip to page content
SAVRN
Search Plan a project

Open-weight model · Feature extraction

jehosephat

by Atelier Rhizome rhizomatous/jehosephat

jehosephat is an open-weight model for feature extraction from Atelier Rhizome, released under Apache License 2.0. Its published files total 139.7 MB.

Jehosephat is a non-autoregressive decision model that answers questions about text or structured data. It returns probability distributions over your supplied questions in one forward pass, without generating text. Several questions may be asked in parallel.

Parameters—
Context—
Weights139.5 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Atelier Rhizome, published under apache-2.0, revision ada7f570ac1c.

Jehosephat is a non-autoregressive decision model that answers questions about text or structured data. It returns probability distributions over your supplied questions in one forward pass, without generating text. Several questions may be asked in parallel. Questions can select a category (choice), score ordered levels (score), or estimate the probability of a proposition (noul). The model architcture is a Qwen3-1.7B-Base backbone with a rank-32 LoRA adapter and a shared scalar decision head. Jehosephat is inspired by TypeSafe's Jev, and so the query schema draws on TypeSafe Primitives. Load Jehosephat and ask named questions: The model weights download automatically on first use.…

Read Atelier Rhizome's full model card

Jehosephat is a non-autoregressive decision model that answers questions about text or structured data. It returns probability distributions over your supplied questions in one forward pass, without generating text. Several questions may be asked in parallel. Questions can select a category (choice), score ordered levels (score), or estimate the probability of a proposition (noul).

The model architcture is a Qwen3-1.7B-Base backbone with a rank-32 LoRA adapter and a shared scalar decision head.

Jehosephat is inspired by TypeSafe's Jev, and so the query schema draws on TypeSafe Primitives.

Prerequisites

pip install "torch==2.14.0" "transformers==5.17.0" "peft==0.21.0"

Use

Load Jehosephat and ask named questions:

from transformers import AutoModel

model = AutoModel.from_pretrained(
    "rhizomatous/jehosephat",
    trust_remote_code=True,
)
answers = model.predict(
    state={"message": "My order arrived broken."},
    questions={
        "route": {
            "type": "choice",
            "instructions": "Which team should handle this message?",
            "criteria": {
                "returns": "Damaged products, refunds, and replacements",
                "shipping": "Delivery tracking and delays",
            },
        },
    },
)

The model weights download automatically on first use. Jehosephat uses an available NVIDIA or Apple GPU automatically, and runs on CPU otherwise.

state accepts text or JSON-serializable data. Answers use your question names; those names do not enter the model input. Every answer contains type and a probabilities map whose values sum to 1. You can ask different question types together:

answers = model.predict(
    state={"message": "My order arrived broken."},
    questions={
        "route": {
            "type": "choice",
            "instructions": "Which team should handle this message?",
            "criteria": {
                "returns": "Damaged products, refunds, and replacements",
                "shipping": "Delivery tracking and delays",
            },
        },
        "severity": {
            "type": "score",
            "instructions": "How serious is the customer's problem?",
            "criteria": [
                "No problem reported",
                "Minor inconvenience",
                "Product unusable",
            ],
        },
        "replace": {
            "type": "noul",
            "instructions": "Does the customer need a replacement?",
        },
    },
)
Type Criteria Answer
choice Map of option names to descriptions choice: the winning option name; confidence: its probability
score Ordered list of level descriptions score: expected zero-based level; confidence: the largest level probability; legend: level names mapped to descriptions
noul Optional descriptions under "false" and "true" noul: probability of true

Results are plain Python dictionaries.

Score's probability keys are "0", "1", and so on. Score includes a legend mapping its level numbers to your descriptions. A three-level Score ranges from 0 to 2 and may be fractional. Its confidence refers to the most likely level, not a probability that the numerical expected score is correct.

A request supports 1–32 questions, 2–255 options per question, and at most 5,376 packed tokens in total, including formatting, state, questions, and options.

Architecture

The shared state, question text, and option branches are packed into one sequence. Each option is scored using the shared state, its question’s instructions, and its own key and description. Other questions and options are excluded from its context using a causal tree attention mask.

One linear scalar head scores every option's decision marker. A softmax normalizes those scores within each question. Inference uses SDPA with a dense tree mask.

Training

Jehosephat was trained on the following annotated and generated data. Targets preserve human annotation distributions or exact probabilities calculated by enumeration. Training data is not included in this model distribution.

Source and attribution Adaptation used in training
GoEmotions, Demszky et al., 2020 Emotion Noul questions and eligible 28-option Choice questions; empirical annotation distributions
Civil Comments, Borkan et al., 2019 Seven toxicity-related Noul questions per comment; continuous annotation fractions
SNLI, Bowman et al., 2015 Premise-grouped entailment Choice questions; five-judgment distributions
DynaSent, Potts et al., 2021 Ordered sentiment Score questions; full vote distributions, excluding rows with mixed-sentiment votes
HelpSteer2, Wang et al., 2024 Five response-quality Score questions; individual human rating distributions
Procedural workflows and exact probability experiments, viv shaw, 2026 Generated shared-state questions with exact posterior or predictive targets

This data was used to train a LoRA. LoRA rank was 32, alpha 64, and dropout 0.05, applied to attention projections and MLP gate/up/down projections. Adapter learning rate was 0.0002; head learning rate was 0.001. Microbatches held two requests with four gradient-accumulation steps. Weight decay was 0.01 and warmup ratio 0.05. Training permuted questions and options and forbade state truncation. The loss was cross-entropy plus 0.25 times Brier loss, averaged over questions within each request and then over requests; ordinal RPS weight was zero.

Limitations

Options are scored independently before normalization. An option such as “none of the above” cannot inspect which other alternatives were supplied. Overlapping options, comparisons between sibling options, and set-dependent complements can therefore fail. Use self-contained criteria and put information needed by every option in the shared state or question. Adding options changes normalization, but does not let existing branches reason about the new options.

Training primarily covers English and a limited set of generated and annotated tasks. The aggregate results are heavily influenced by Noul questions, which were dominant in the training data.

Development

From a source checkout, install dependencies and development tools with uv:

uv sync --locked

Pytest and Ruff are used for checks. The release-loading and attention isolation tests run the actual model on CPU and require enough memory for its weights and inference.

Attribution

Jehosephat is licensed under the Apache-2.0 license. See LICENCE.qwen3.md for the license of the underlying Qwen3 model.

Citation

If you use Jehosephat in your work, please cite:

@misc{shaw2026jehosephat,
  author = {shaw, viv},
  title = {Jehosephat},
  year = {2026},
  url = {https://huggingface.co/rhizomatous/jehosephat}
}

Configuration

Architecture
Jehosephat
Model type
jehosephat

Identity and Version

Repository
rhizomatous/jehosephat
Publisher
Atelier Rhizome
Task
Feature extraction
Modality
Text
Library
transformers
Parameters
Not stated by the source
Languages
en
Revision
ada7f570ac1c75ca72842fabfe457c2b041eb005
First published
2026-10-04
Last updated
2026-10-04

Files and Weights

34 files, 139.7 MB in total. The weights are 2 files totalling 139.5 MB in safetensors.

Weights2 files · 139.5 MB
Configuration24 files · 52.9 KB
Documentation3 files · 30.3 KB
Other2 files · 142.8 KB
Repository3 files · 140 B
Every file
FileTypeSizeSHA-256
weights/adapter/adapter_model.safetensorsWeights139.5 MB 47b6470512f8
weights/decision_head.safetensorsWeights8.3 KB d72b5471248c
config.jsonConfiguration216 B —
jehosephat/__init__.pyConfiguration108 B —
jehosephat/api.pyConfiguration5.1 KB —
jehosephat/configuration_jehosephat.pyConfiguration179 B —
jehosephat/constants.pyConfiguration218 B —
jehosephat/data.pyConfiguration6.6 KB —
jehosephat/formatting.pyConfiguration1.2 KB —
jehosephat/model.pyConfiguration3.4 KB —
jehosephat/prediction.pyConfiguration2.0 KB —
jehosephat/probabilities.pyConfiguration366 B —
jehosephat/release.pyConfiguration1.4 KB —
jehosephat/schema.pyConfiguration4.3 KB —
tests/__init__.pyConfiguration —
tests/conftest.pyConfiguration545 B —
tests/test_api.pyConfiguration4.3 KB —
tests/test_attention_isolation.pyConfiguration2.6 KB —
tests/test_data.pyConfiguration5.5 KB —
tests/test_formatting.pyConfiguration2.2 KB —
tests/test_hub.pyConfiguration2.3 KB —
tests/test_model.pyConfiguration2.8 KB —
tests/test_packing.pyConfiguration3.3 KB —
tests/test_prediction.pyConfiguration1.2 KB —
tests/test_schema.pyConfiguration1.9 KB —
weights/adapter/adapter_config.jsonConfiguration1.2 KB —
LICENSEDocumentation11.3 KB —
LICENSE.qwen3.mdDocumentation11.3 KB —
README.mdDocumentation7.6 KB —
pyproject.tomlOther647 B —
uv.lockOther142.2 KB —
.gitattributesRepository50 B —
.gitignoreRepository85 B —
.python-versionRepository5 B —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
139.5 MB
Download from Atelier Rhizome

Released by Atelier Rhizome through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published139.5 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About jehosephat

Can I use jehosephat commercially?

Yes. jehosephat is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Feature extraction

all-MiniLM-L6-v2

Joshua

https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: You can then use the model to compute embeddings like this: You can convert this Tensor to a nested JavaScript array using.tolist(): Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights apache-2.0 512 tokens transformers.js

Model · Feature extraction

bge-base-en-v1.5

Joshua

https://huggingface.co/BAAI/bge-base-en-v1.5 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: You can then use the model to compute embeddings, as follows: You can also use the model for retrieval. For example: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights mit 512 tokens transformers.js

For more details please refer to our Github: FlagEmbedding. If you are looking for a model that supports more languages, longer texts, and other retrieval methods, you can try using bge-m3. FlagEmbedding focuses on retrieval-augmented LLMs, consisting of the following projects currently: - 1/30/2024: Release BGE-M3, a new member to BGE model series! M3 stands for Multi-linguality (100+ languages), Multi-granularities (input length up to 8192), Multi-Functionality (unification of dense, lexical, multi-vec/colbert retrieval). It is the first embedding model which supports all three retrieval methods, achieving new SOTA on multi-lingual (MIRACL) and cross-lingual (MKQA) benchmarks. Technical…

Open weights mit 512 tokens sentence-transformers

Model · Feature extraction

wavlm-large

Microsoft

The large model pretrained on 16kHz sampled speech audio. When using the model, make sure that your speech input is also sampled at 16kHz. Note: This model does not have a tokenizer as it was pretrained on audio alone. In order to use this model speech recognition, a tokenizer should be created and the model should be fine-tuned on labeled text data. Check out this blog for more in-detail explanation of how to fine-tune the model. - 60,000 hours of Libri-Light - 10,000 hours of GigaSpeech - 24,000 hours of VoxPopuli Authors: Sanyuan Chen, Chengyi Wang, Zhengyang Chen, Yu Wu, Shujie Liu, Zhuo Chen, Jinyu Li, Naoyuki Kanda, Takuya Yoshioka, Xiong Xiao, Jian Wu, Long Zhou, Shuo Ren, Yanmin…

Open weights transformers

Model · Feature extraction

clap-htsat-unfused

LAION eV

The abstract of the paper states that: You can use this model for zero shot audio classification or extracting audio and/or textual features. You can also get the audio and text embeddings using ClapModel If you are using this model for your work, please consider citing the original paper

Open weights apache-2.0 514 tokens transformers