A model built for your domain.
We start from an open-weight model, test candidates on your own tasks, and adapt the best one to your terminology, documents and decisions. You own the result, subject to the base model’s licence. See how we choose base models.
What you get
Six deliverables, all yours to keep.
Model-selection memo
Three to five candidate models scored on a test set built from your own work, not public leaderboards. Includes licence notes and where the weights came from.
The adapted model
Retrieval, fine-tuning or both, depending on what the tests show. The weights, adapters and configuration belong to you.
Structured outputs
JSON that matches your schema, enforced while the model generates and validated again before it reaches another system.
Tool use
Function calling in the model’s native format, limited to an allow-list of tools you approve.
A replaceable base
A standard API in front of the model, so you can move to a better base model later without rebuilding your applications.
Before-and-after report
Results on your tasks for the base model and the adapted one, written for your risk and validation teams.
Retrieval, fine-tuning or both
The tests decide which approach you need.
retrieval (RAG)
For facts that change.
Policies, product terms, case files. Anything that must be current or cited goes in a search index the model reads from.
fine-tuning
For behaviour.
Format, tone, domain terms, classification and extraction. Also when a small model needs to match a large one on cost and speed.
both
For most real systems.
A fine-tuned model that knows how your organisation writes, reading from an index that knows what is true today.
Base models we evaluate
Open weights, checked licence by licence.
Licence terms differ between model families and sometimes between versions of the same family. We read the licence file of the exact checkpoint. Your counsel approves it.
| Family | Licence | What we check |
|---|---|---|
| Mistral 3 | Apache 2.0 | Each model separately. Some Mistral releases use other terms. |
| Qwen3 | Apache 2.0 (open checkpoints) | Each checkpoint. Board-level questions about model origin. |
| Gemma 4 | Apache 2.0 | Earlier Gemma versions use Google’s own terms. |
| DeepSeek | MIT (weights) | Model origin review, which many boards now require. |
| gpt-oss | Apache 2.0 | Its own chat format and usage policy. |
Licence information as of November 2026. Not legal advice. How we choose base models →
Regulation
Fine-tuning and the EU AI Act.
Adapting an open-weight model with ordinary fine-tuning does not usually make you a general-purpose AI model provider under the EU AI Act. The Commission’s guidance points to a threshold of roughly a third of the compute used to train the original model, far above typical fine-tuning.
We record the compute used in every training run, so your counsel can confirm your position. If your use case is high-risk, see Governance.
Questions
What risk teams ask.
Who owns the weights and adapters?
You do, along with the test sets and configuration. You can take them with you at any time. The only limit is the base model’s licence.
How do you stop it inventing facts?
For anything factual, answers come from retrieved documents with citations, and the model says it doesn’t know when retrieval finds nothing. We measure how often it is wrong; we don’t claim it never is.
Does the licence work for an EU entity?
It depends on the model. Some licences add terms for EU-based companies. We flag these in the selection memo for your counsel.
What happens when a better base model comes out?
We run it against the same test set. If it wins, we swap it behind the same API and re-run the full evaluation before release.
What we don’t promise
Some claims we won’t make.
- A model that never makes mistakes. We measure error rates and design the system around them.
- That a licence review is legal advice. It’s an engineering input for your counsel.
- That a custom model is always the answer. Sometimes an existing model with the right controls is enough.
Find out which model fits.
A two-week assessment on your own data, with a written answer on whether you need a custom model.