xjevboost
Tabular classifier that learns which slices of labeled rows and columns to send Jev or LAYA, stopping when it has enough.
Overview
xjevboost classifies tabular data with Jev, LAYA or compatible OpenJev servers without putting the whole labeled dataset into the model's context. It does not retrain the model; instead it learns which context to send. A view is a selection of labeled examples and columns plus the row to classify, and a greedy tree search learns which views help and when to stop asking for more within call and token budgets.
At prediction time each requested view is a separate model call (or a cached answer), and each answer guides whether to request another. The aim is to get close to full-context quality while spending fewer tokens, especially for categorical data, unstructured text or messy tables. The README's example predicts customer churn. Despite the name, there is no gradient boosting yet. It is Apache-2.0.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which class does this row belong to (e.g. stayed vs cancelled)? | 0: Stayed subscribed next month · 1: Cancelled next month |
How it works
- Fit on training data with class descriptions.
- A tree search learns which views of rows and columns to send.
- At prediction, request views until answers are confident or budget is used.
- Evaluate on a test set.
Strengths
- Uses less context than sending the full table.
- Works with Jev, LAYA and OpenJev servers.
- Budgets for calls and tokens.
Caveats
- No gradient boosting yet despite the name.
- Training makes up to the configured number of model calls.
Getting started
pip install -e . && export TYPESAFE_API_KEY=...At a glance
- Type
- Project
- Status
- research
- Language
- Python
- Runtime
- library
- Has code
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Add as much tabular data as you want to Jev models using adaptive ensembles that learn to query only the rows and columns needed.
logicrw/awesome-jev-projects
Frequently asked questions
Does it fine-tune the model?
No, it learns which context to send.
Which backends work?
Jev, LAYA and compatible OpenJev servers.
Is there boosting?
Not yet, despite the name.
Related projects
dbt package whose macros run Jev Choice, Noul and Score over SQL values in DuckDB and ClickHouse models.
ProjectbetaSQL (Jinja)DuckDB extension that asks Jev about every row in SQL and returns answers as ENUM, DOUBLE or STRUCT columns.
PluginbetaC++Polars library for parallel LLM inference that also asks Jev per-row Noul, Choice and Score questions through a native Rust layer.
LibrarybetaPythonSutro's active-learning CLI that finds rows Jev is least sure about, asks you to label them, and uses GEPA to improve the definition.
CLIbetaPythonCLI that scans tabular, structured and text files or databases and asks Jev which fields look anomalous, building a review queue.
CLIbetaPythonPipeline that audits and refines topic-model clusters by checking each document against its topic label with a zero-shot decision model.
DemoresearchPython