Can You Fine-Tune Jev? How to Customize It Instead
Last checked · Independent guide, not affiliated with TypeSafe AI
No. TypeSafe does not fine-tune or LoRA-adapt Jev with customer data; every account uses the same weights. You customize Jev through the request: put your reference material in the state, encode your rules and edge cases in each question's instructions and criteria, and combine several small answers in code.
Why there is no fine-tuning
Section titled “Why there is no fine-tuning”TypeSafe’s model documentation is explicit: Jev is trained once with the company’s RLCD method, and the same weights serve every account. There is no fine-tuning endpoint and no per-customer adapter. That also means your data is never used to change the model; see Does Jev train on your data?
The idea behind this is that a general model with calibrated probabilities should handle a new classification task from a good description, without labeled training data. On Hacker News, several developers questioned that: why not train a small classifier on your own labels? That trade-off is covered in Jev vs classifiers. If you have plenty of labeled data and a fixed task, a trained classifier can still win.
Four ways to customize Jev
Section titled “Four ways to customize Jev”1. Put your knowledge in the state. Policies, product catalogs, taxonomies, examples of past decisions: whatever a human expert would look at before judging goes into the state as structured JSON. Keep it focused, because accuracy drops as irrelevant material grows.
2. Write your rules into the criteria. Criteria are where domain definitions live. Each Choice option, Score level or Noul side can be a sentence or a structured object with a definition, inclusions, exclusions and examples. When Jev gets a borderline case wrong, the fix is usually a sharper boundary in the criteria, not a different model.
"severity": { "type": "score", "instructions": "How severe is this bug report for our payments product?", "criteria": [ { "level": "cosmetic", "means": "Visual glitch, no effect on payments" }, { "level": "degraded", "means": "A payment flow is slower or needs a retry, but succeeds" }, { "level": "blocking", "means": "Customers cannot complete payment, or money is charged incorrectly" } ]}3. Decompose, then weight in code. Instead of one broad question (“Is this a good lead?”), ask several narrow ones (budget mentioned, decision-maker, timeline, fit with your product) and combine them with weights you control. When your definition of a good lead changes, you change the weights, not the model. TypeSafe documents this as the composite scoring pattern.
4. Learn on top of Jev’s answers. If you do have labeled data, use Jev’s probabilities as features for a small classical model. TypeSafe’s autoresearch cookbook does this: it generates Jev questions, turns free text into numeric features, and trains a CatBoost regressor on them. The expensive language understanding stays in Jev; the task-specific fitting happens in a model you own.
Tuning thresholds is your fine-tuning
Section titled “Tuning thresholds is your fine-tuning”The closest thing to training you will do is choosing thresholds. Collect a few dozen to a few hundred labeled examples, run your questions, and pick the confidence or probability cutoffs that give the error rate you can accept. Pin the model version (jev-1.13.0) while you do this, because an alias like jev-latest can move to a new model and shift the probabilities. See Confidence.
If you really need a custom model
Section titled “If you really need a custom model”Options outside Jev: train a classifier on your own labels, or look at the open-source projects that copy Jev’s interface on models you can train yourself, such as jevlike. See Jev alternatives.