Build the models your agent needs
With our post-training platform, you can build and deploy high-performance agents in a day and continually improve them using production data.
accuracy on your eval set
30M+ people use models trained on distil labs today
Post-training shouldn't take weeks
Frontier models are too slow and expensive for the tasks your agent runs thousands of times a day, and the cheaper tier isn't reliable enough. A model post-trained on your task fixes that, but building evals, preparing training data, training, testing and deployment take a specialist team and a month of work. With distil labs, one engineer can do it in a day.
What you get
Build high-performance agents
Small models that match or beat frontier accuracy at a fraction of the latency and cost, proven on evals from your own traffic.
Ship models 10x faster
One engineer, about 30 minutes of hands-on time. Or let your coding agent run the steps until it hits your target.
Own your models
Every model you train is yours. No surprise price changes, rate limits or deprecations from a frontier provider.
If you can write a prompt, you can train a model
Four steps from your production traffic to a model you trust. Run them from the CLI yourself, or let your coding agent run them.
- 1
Capture your agent's real traffic
Change one base URL to send a slice of production traffic through a distil labs endpoint. Every request still goes to your current model, so your users see no difference, and each one is recorded as a trace.
client = OpenAI( - base_url="https://api.openai.com/v1", + base_url="https://custom-endpoint.i.distillabs.ai/v1", api_key="your-distil-api-key", )Your agentLLMplatformyour model v1- 1Relabel traces into an eval set
- 2Create synthetic data per batch
- Generate examples
- Validate (filter, dedupe, drop)
- Boost underrepresented cases
- 3Post-train (SFT + optional RL)
- 2
Train a model on your traces
Your traces become an eval set and synthetic training data, and a few CLI commands train and score a small model. About 30 minutes of your time, or let your coding agent run the steps.
$ distil seed-dataset create-from-traces <traces-id> $ distil training-dataset create-from-seed-dataset <seed-dataset-id> $ distil slm create-from-training-dataset <training-dataset-id> ✓ Training started. SLM ID: <slm-id>- 1Relabel traces into an eval set
- 2Create synthetic data per batch
- Generate examples
- Validate (filter, dedupe, drop)
- Boost underrepresented cases
- 3Post-train (SFT + optional RL)
- 3
Compare, then switch
Your new model is scored on the same eval set as the frontier model, with accuracy, latency and cost side by side. Deploy it and move traffic over when the numbers say so.
$ distil slm metrics <slm-id> $ distil deployment create-from-slm <slm-id> ✓ Deployment started. Deployment ID: <deployment-id>Your agentLLMplatformyour model v1- 1Relabel traces into an eval set
- 2Create synthetic data per batch
- Generate examples
- Validate (filter, dedupe, drop)
- Boost underrepresented cases
- 3Post-train (SFT + optional RL)
- 4
Ship a better version every day
New traffic becomes your next eval and training set. Retrain when your agent changes or a weak spot shows up, and ship the new version once it beats the old one. As often as daily.
Your agentLLMplatformyour model v1- 1Relabel traces into an eval set
- 2Create synthetic data per batch
- Generate examples
- Validate (filter, dedupe, drop)
- Boost underrepresented cases
- 3Post-train (SFT + optional RL)
If you can write a prompt, you can train a model
Step 1 of 4
Capture your agent's real traffic
Change one base URL to send a slice of production traffic through a distil labs endpoint. Every request still goes to your current model, so your users see no difference, and each one is recorded as a trace.
client = OpenAI(
- base_url="https://api.openai.com/v1",
+ base_url="https://custom-endpoint.i.distillabs.ai/v1",
api_key="your-distil-api-key",
)Step 2 of 4
Train a model on your traces
Your traces become an eval set and synthetic training data, and a few CLI commands train and score a small model. About 30 minutes of your time, or let your coding agent run the steps.
$ distil seed-dataset create-from-traces <traces-id>
$ distil training-dataset create-from-seed-dataset <seed-dataset-id>
$ distil slm create-from-training-dataset <training-dataset-id>
✓ Training started. SLM ID: <slm-id>Step 3 of 4
Compare, then switch
Your new model is scored on the same eval set as the frontier model, with accuracy, latency and cost side by side. Deploy it and move traffic over when the numbers say so.
$ distil slm metrics <slm-id>
$ distil deployment create-from-slm <slm-id>
✓ Deployment started. Deployment ID: <deployment-id>Step 4 of 4
Ship a better version every day
New traffic becomes your next eval and training set. Retrain when your agent changes or a weak spot shows up, and ship the new version once it beats the old one. As often as daily.
- 1Relabel traces into an eval set
- 2Create synthetic data per batch
- Generate examples
- Validate (filter, dedupe, drop)
- Boost underrepresented cases
- 3Post-train (SFT + optional RL)
Let your coding agent set it up with you
Paste one line into your coding agent. It installs the CLI, creates your account and trains your first model with you, stopping for your go-ahead along the way. Your first two training runs are free.
claude "Let's get started with distillabs.ai/onboarding.md"codex "Let's get started with distillabs.ai/onboarding.md"Let's get started with distillabs.ai/onboarding.mdLet's get started with distillabs.ai/onboarding.mdWhat our customers say
The distil labs platform accelerated the release of our cybersecurity-specialized language model, KINDI, enabling faster iterations with greater confidence. As a result, we ship InovaGuard improvements sooner and continuously boost investigation accuracy with every release.
Samir Bennacer
Co-Founder and CTO at Octodet
With distil labs, we built a custom model using just ~100 datapoints in days. The self-service retraining has been especially valuable for our team-we can retrain the model ourselves with new data. The distil labs team was responsive and guided us through the entire process.
Sascha Bührle
Co-Founder & CEO at Uptime Industries
Using distil labs, we were able to spin up highly accurate custom small models tailored to our workflows in no time. Those models cut our inference costs by 68% without sacrificing quality. The distil labs team was incredibly supportive as we got started and helped us get to production smoothly.
Lucas Hild
Co-Founder & CTO at Knowunity
Build your agent's first model today
Wondering what happens to your traces? Security and data handling
From our blog
How Knowunity used distil labs to cut their LLM bill by 68%
Knowunity, an edtech startup processing hundreds of millions of AI requests monthly, used distil labs to train a custom small language model that cut inference costs by 68% while improving classification accuracy from 81% to 93%.
Why training on production traces fails (and what to do instead)
Training directly on production traces doesn't work as well as you'd expect. We tested across five scenarios and synthetic data from traces scores up to 26 percentage points higher in accuracy.

The 10x Inference Tax You Don't Have to Pay
Benchmarking fine-tuned small language models (0.6B-8B) against 10 frontier LLMs across 8 datasets shows that task-specific SLMs match or beat frontier models at 10-100x lower inference cost.


