JuL documentation
JuL is a hub for typed decisions. You ask a question about a text: pick an option (Choice), yes or no
(Noul), a level on a scale (Score). You get back an answer and a probability per option. One API, the
one of Jev's SDK, and behind it whatever model fits your constraints: a 4B model on your Mac, a 90 MB encoder
in an AWS Lambda, an embeddings API, or a bigger decider only for the questions the small one is unsure about.
from jul import TypeSafeClient, Choice
client = TypeSafeClient()
r = client.system_one(
state="I was charged twice this month.",
questions={"team": Choice(instructions="Which team should handle this?",
criteria={"billing": "payments, refunds", "technical": "bugs, errors",
"sales": "pricing, plans"})},
)
r.choices["team"].choice # "billing"
r.choices["team"].probabilities # {"billing": 0.88, "technical": 0.11, "sales": 0.01}
Where to start
New here? Quickstart: install, a first answer, a first batch, in ten minutes. Then Concepts: the six words that explain the rest.
Already on Jev? Change from typesafe_sdk import to from jul import: same classes, same calls, same
response. Python API lists what is identical and what JuL adds.
Picking a model? The hub maps every model, backend and provider JuL plugs into, and how to choose. Models has the details, Benchmarks the numbers.
Going to production? Serving over HTTP, Deploying a fixed need, AWS Lambda, and Configuration for every variable.
Every page
| I want to… | Read |
|---|---|
| install it, pick MLX, PyTorch or ONNX | Installation |
| understand state, question, option, reading, context, head | Concepts |
| see every model, backend and provider JuL connects | The hub |
| write options the model gets right | Writing good questions |
| answer a file of texts from the shell | Command line |
| improve accuracy on my own data | Adapting to your data |
| call it from another language | Serving over HTTP |
| send unsure answers to a bigger model | Escalation |
| ship a fixed set of questions | Deploying a fixed need, AWS Lambda |
| use my own model | Models › Adding a model |
| look up a class, argument or field | Python API |
| look up a command or flag | CLI reference |
| look up an environment variable or a file on disk | Configuration |
| send metrics and events to my OpenTelemetry collector | Telemetry |
| fix an error | FAQ and troubleshooting |
| look up a word | Glossary |
Keys on every page: / search, D docs home, Q quickstart, A
Python API, L CLI reference, G GitHub.