Dopp vs OpenAI fine-tuning
OpenAI fine-tuning takes a JSONL file of examples and returns a customised version of one of their models, hosted by them. Dopp builds the examples from your live traffic, trains a small open model on them, measures it against that API, and lets you run it anywhere.
How is Dopp different?
The dataset builds itself. OpenAI's guide starts at "prepare your training file". Dopp starts at "change one URL". Every request your app sends is recorded with its answer, in your format, as you go.
Labels are included. With OpenAI you bring correct answers. With Dopp, Jev answers every request as it happens, and that answer is the label unless you pick another.
The model is yours. A fine-tuned OpenAI model lives on their servers, under their terms, at their price per token. An Dopp model is an open 0.4B model you can download, run on our GPU, or run in a browser tab.
Side by side
| OpenAI fine-tuning | Dopp | |
|---|---|---|
| Examples come from | A JSONL file you prepare | Your live requests, plus paste, datasets, generated |
| Labels come from | You | Jev, automatically; overridable |
| Base model | Theirs (closed) | Open, small, downloadable |
| Where it runs | Their servers | Our servers or the user's browser |
| Price to serve | Per token, fine-tuned rate | Cents per thousand on a small GPU, or free in the browser |
| Typed answers | Prompted; you parse | Native: choices, yes/no, scores with probabilities |
| Measuring | Your eval script | Held-out agreement per answer; live agreement on traffic |
| Fallback when unsure | You build it | One setting: ask Jev when unsure |
When OpenAI fine-tuning is the better choice
- The task is open-ended generation, not typed decisions.
- You need the strongest possible model and cost is secondary.
- You already have a clean labelled dataset and an eval harness.
When Dopp is the better choice
- Your task is classification-shaped: choices, yes/no, scores about a state.
- You don't have a dataset yet, but you do have traffic.
- You want to own the model, run it cheaply, or run it client-side.
What OpenAI does better
Bigger models, more capable on hard or unusual inputs, and generation. If your "classification" secretly needs reasoning over long documents, their model will do better than a 0.4B one.
Pricing
OpenAI charges for training tokens and a higher per-token rate to serve the fine-tuned model. Dopp charges for Jev's labels (fractions of a cent), training minutes (cents to a dollar), and serving on a small GPU; the browser copy costs nothing to serve. Every price is shown before you press the button.
Switch in three steps
- Route your classification traffic through Dopp (one URL change; Jev answers meanwhile).
- Train when you have a few hundred requests.
- Compare against Jev on real traffic, then switch.
Questions
Can I export the model?
Yes: the weights, and the browser version.
Can I use my existing labelled data?
Yes: paste it in, or upload rows; each row becomes a request with your label as the grounded answer.
Does it handle many questions per request?
Yes, including one question per word of a text.
What about GPT-4-class accuracy?
Not the goal. The goal is Jev-level agreement on your own requests at a fraction of the cost, with Jev as the safety net.
What Dopp is. Dopp is a drop-in proxy for any Jev-compatible decision API: TypeSafe's Jev, Kev, GLiNER, simple-jev, or your own endpoint that answers typed questions about a state. You change one URL; every request still gets your current API's answer and is recorded as training data. When you have enough, one button trains a small open model on your own requests, measures it against the API it learned from on requests it never saw, and lets you choose who answers: the API, your model with the API as backup, or your model alone, on our servers, or offline, even in your users' browsers.