import whileai as wai. The company is While, the package on PyPI is
whileai, and the command is wai. See
install for the line that brings all three.
Do I own the model and the data? You own the model, the data and the
weights: the datasets are built from your production traces, the model is
an open model post-trained with SFT and RL, and the trained weights are
yours to download and serve anywhere. Bring your own keys. Your model keys
never leave your machine. A While key adds hosting: we store your
datasets, run the hosted judge, train and serve. On hosted GPUs
wai.platform.train(dataset_id, method="sft") returns a run whose
run.adapter names where the trained weights landed, and
train and prove runs the same step on your own
GPU, writing the adapter to a path you pick.
Do I need a key? Not to start. simulator=False writes the situations
from templates instead of from a model, seeded_agent stands in for an
agent, and a lambda can be the judge. That is the whole loop with no
account and no network:
wai.methods lists what ships.
Do I have to change my agent? No. The SDK reads what the agent does,
from its traces or from its tools and policy. The agent keeps running
where it runs today. See connect your agent.
What if my agent is not in production yet? Describe the behavior you
want in a sentence. That sentence is the policy. The SDK drafts the tools
such an agent would have and runs the conversations against them, so there
is training data before there is traffic.
How do I know it got better? Every run ends with pass@1 per task
category, before and after, on a held-out set with a 95 percent confidence
interval. If the interval includes zero, nothing ships.
Both are in
whileai/simulations/defaults.py. Measurement is the
Evaluation chapter of the RLHF
book [4].
Which models can it train? Open models you own at the end. Training
runs SFT, DPO, GRPO or a reward model on hosted GPUs, as a LoRA adapter
[5]. Serving is narrower than training: an adapter reaches an endpoint
only on a served base, today Qwen/Qwen3-4B and microsoft/phi-4, and
wai.platform.train warns when a run will not be servable. See
the platform reference.
Where do the rollouts come from? From your agent’s own tools and
policy. A separate model plays the customer, a mock world answers the tool
calls, and every conversation is scored against a written rubric before it
is kept. See how it works.
Is the judge another LLM? Yes, when you do not pass a program. So it
is measured against gold labels, probed with known hacks, versioned by
rubric hash, and drawn from a different model family than the policy. See
the engine.
What happened to zeroproof? That was this package’s name before 0.51,
and the company’s name before September 2026. Both are retired. The last
zeroproof upload on PyPI installs whileai; every release since ships
only as whileai, reads only WHILEAI_* variables and ~/.whileai, and
talks to while.ai.
Next
Run the quickstart. It is the program above with your own agent in place of the stand-in.References
- Chen, M. et al. Evaluating Large Language Models Trained on Code. arXiv:2107.03374, 2021. pass@k.
- Rafailov, R. et al. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290, 2023. DPO.
- Shao, Z. et al. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. arXiv:2402.03300, 2024. GRPO.
- Lambert, N. Reinforcement Learning from Human Feedback, Evaluation. rlhfbook.com/c/16-evaluation.
- Hu, E. J. et al. LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685, 2021. The adapter the hosted trainer writes.