Cut your frontier API bill. Keep the model.
Point your api.openai.com calls at kolm capture. Every successful (input, output) pair gets recorded. At your threshold, kolm hands the corpus to the trainer and you get back a signed local LoRA that runs the same task on your hardware. The frontier bill becomes a deposit account.
One-line proxy change. Zero re-prompting. Zero retraining work today — kolm captures pairs you've already paid for.
Drop-in proxy.
Change your base URL from api.openai.com to kolm.ai/v1/capture/openai. Same model, same response, same key. Every successful call is stored as a training pair.
Threshold → corpus → bridge.
When you hit 1,000+ pairs in a namespace, kolm hands the corpus to the trainer bridge. PEFT LoRA, K-score gate, HMAC-signed .kolm archive. You own the artifact.
Local hardware. No bill.
Run kolm run patient-intake.kolm on a laptop, a phone, or your VPC. The artifact runs the same task. Per-call cost: zero. Vendor lock-in: zero.
What you'd save in year one.
Drop in your volume. Frontier-API costs vs. kolm capture + Pro plan + teacher cycles. Open full calculator →
kolm (Pro + teacher cycles): —
From frontier bill to local LoRA, in seven minutes.
Below is the literal flow. No training math, no eval rig.
Swap your base URL.
One line in your SDK config. Everything else stays the same.
# before client = OpenAI(base_url="https://api.openai.com/v1") # after — same key, same model, same response client = OpenAI(base_url="https://kolm.ai/v1/capture/openai")
Watch your inbox fill up.
Each successful call lands in /captures with the input, output, and a K-score floor estimate. Discard noise; keep the rest.
$ kolm logs --tail › captured: patient-intake (1247 pairs / 7 days) › captured: support-triage (488 pairs / 7 days) ok threshold reached: patient-intake ready for distill
Hand the corpus to the trainer.
kolm packages the captured pairs and calls the trainer bridge. PEFT LoRA fit, K-score gate, HMAC-signed archive. The artifact lands back in your dashboard.
$ kolm compile patient-intake --examples 1247 --receipt › synthesizing verifier from 1247 examples ... › k=8 sample · verify · accept (Q=0.928) ... › stamping K-score · signing artifact ... ok wrote patient-intake.kolm k_score=0.92 hmac-sha256
Run the artifact on your hardware.
Locally, in your VPC, on a phone — whatever fits. Per-call cost goes to zero. Compliance moves inside your boundary.
$ kolm run patient-intake.kolm "ID 8842, abnormal labs Cr 2.1 K+ 5.6" { "urgency": "HIGH", "rationale": "AKI risk pattern (Cr 2.1, K+ 5.6)", "_kolm": { "k_score": 0.92, "verified": true, "host": "on-device" } }
What ships today vs what's roadmap.
- Capture proxy for OpenAI and Anthropic. Auth, rate-limit, and namespace routing.
/v1/capture/openai,/v1/capture/anthropic. - Inbox + triage.
/capturesshows the (input, output) pairs; you can discard noise from the inbox view. - Bridge handoff at threshold. POST
/v1/specialists/auto-distillcountscorpus_namespace, packages, and sends the corpus to your trainer bridge with a callback URL. - Artifact-level receipt. Final
.kolmarchive is HMAC-signed and re-verifiable by the issuer or a shared-secret holder.
- In-app distill loop. Today the bridge does the actual LoRA fit; closing the loop in-app is on the roadmap.
- Triage-binding on distill. Today discard only hides from inbox; binding triage to label-export and auto-distill is target arch.
- Per-call HMAC chain across requests, with optional Sigstore Rekor anchoring. Today it's per-artifact HMAC over the archive.
- Server-owned distill status. Today the bridge owns status;
/v1/specialists/auto-distill/:id/statusis target arch.
Stop renting. Start owning.
Free tier captures up to 1,000 pairs/month. No card. No vendor lock.