Source & contract
Pull from the systems of record with a documented contract: owner, refresh, retention, permitted use.
A foundation model has read the internet. It has never read your contracts, your tickets or your edge cases. We adapt it to your data and prove the difference with an evaluation harness you own.
$hawthorn train --base llama-3.3-70b --method lora
$shuffling 42,180 examples · 6 capability buckets
$epoch 3 · eval 71.2 → 89.8 (+18.6)
$safety suite 128/128 passed
$artifact → registry/models/finance-qa@v4
candidate promoted
We choose the smallest model class that clears your bar, then make that model genuinely good at the job.
Chat and reasoning models that know your products, policies, tone and constraints — without being told twice.
ExploreSmall, fast models that decide what a request is, who owns it and which path it should take before any LLM is invoked.
ExploreStructured output from messy inputs: contracts, invoices, clinical notes, tickets, logs — schema-constrained and validated.
ExploreEmbedders and cross-encoders tuned on your corpus so retrieval precision stops being the bottleneck for everything downstream.
ExploreLayout-aware understanding for scans, forms, tables and screenshots where text-only pipelines quietly fail.
ExploreA large teacher's behaviour compressed into a small, cheap student you can run at volume, on-prem, or offline.
ExploreWe run the cheapest experiment that can answer the question. Full fine-tuning is a last resort, not a default.
The workhorse. We build curated instruction data from your systems of record, filter it ruthlessly, and train until the held-out set moves.
Almost every failed fine-tune is a data problem wearing a training problem's clothes. This is where the weeks actually go.
Pull from the systems of record with a documented contract: owner, refresh, retention, permitted use.
Remove near-duplicates, PII you are not allowed to train on, and the 40% of rows that teach nothing.
Split by customer, document or account — never by row — so the eval set cannot leak into training.
Your domain experts adjudicate the hard cases; their decisions become both training signal and the rubric.
Small, cheap runs across data mixtures and hyperparameters before any expensive commitment.
The candidate must clear every gate below. It either promotes or it goes back with a diagnosis.
A number nobody agreed on is not a metric. These are set with you before the first run and enforced automatically thereafter.
| Metric | What it measures | Release gate |
|---|---|---|
| Task accuracy | Does it do the job on held-out, entity-split data? | ≥ baseline + 5 pts |
| Groundedness | Are claims supported by retrieved or supplied context? | ≥ 95% |
| Schema validity | Does structured output parse and validate every time? | ≥ 99.5% |
| Refusal precision | Does it decline out-of-scope asks without blocking valid ones? | ≥ 98% |
| p95 latency | End-to-end response time under production load. | agreed per route |
| Cost / 1k runs | Fully-loaded inference cost including retrieval and tools. | budget ceiling |
| Safety suite | Injection, exfiltration, prompt-leak and jailbreak battery. | 0 criticals |
Send us a held-out sample and the metric you care about. You get a scored baseline before any contract is signed.
Typical first response within 24 hours · NDA-friendly