Only One Task
AI & ML interests
None defined yet.
Recent Activity
OOT — Only One Task
Small models that each do exactly one job, and do it predictably.
Most AI features inside a product are one narrow job repeated millions of times: name a conversation, say what a command does, flag a risky action. A frontier model is overkill for that, and it drifts: it adds quotes, explanations, markdown, or answers the wrong question. OOT models are trained to do one task under a strict output contract, so the result can be used directly with no parsing and no prompt tricks.
How it works
- One shared base, one adapter per task. Every OOT model is a LoRA adapter on the same unmodified base model (LoRA rank 32 everywhere). One server can host all OOT tasks at once, and the client picks the task with the
modelfield. - OpenAI-compatible. If your app already calls
chat.completions, switching to an OOT model means changingbase_urlandmodel. - Output contract first. Each task has a written output contract. Training data is distilled from a strong teacher, filtered against the contract, and the models are evaluated on held-out sets that are never used for training.
- Built for agents and chat apps. Inputs are the messy real thing: user messages, shell commands, SQL, diffs and JSON tool calls, often wrapped in the client's own prompts.
Models
| Model | Task | Base | Status |
|---|---|---|---|
oot-oneliner |
One-line summary of any input: a title for chat, an intent for commands, SQL, file edits and tool calls | LFM3-1.7B-Base | ✅ v0 (private preview) |
Each model ships in three formats:
-lora: the adapter, the canonical artifact for shared-base serving.- merged bf16 weights: standalone use with 🤗 Transformers.
-GGUF(Q8_0, Q4_K_M): local and CPU serving with llama.cpp.
oot-oneliner at a glance
The input type decides the output style. There is no mode switch.
| Input | Output |
|---|---|
My Docker build keeps reinstalling all npm packages even when package.json didn't change |
Docker reinstalling npm packages in build |
Comment configurer un reverse proxy nginx pour plusieurs sous-domaines ? |
Reverse proxy nginx pour plusieurs sous-domaines |
git reset --hard HEAD~3 && git push --force origin main |
Hard-resets three commits and force-pushes main branch |
SELECT customer_id, COUNT(*) FROM orders WHERE year = 2025 GROUP BY 1 |
Counts orders per customer in 2025 |
{"name": "send_invoice", "arguments": {"customer_id": "c_812", "amount": 1200}} |
Sends invoice of 1200 to customer c_812 |
Real outputs of oot-oneliner v0 (Q8_0 GGUF, temperature 0).
Output is one line of plain text with no quotes, prefix or trailing period. Destructive actions (rm, force push, DROP, deletes, payments…) are trained to state the destructive effect explicitly.
On held-out test sets (Q8_0 GGUF), oot-oneliner scores:
- 99.6% mode accuracy: the title-vs-intent style matches the input type.
- 99.1% format compliance with the output contract.
- 98% of destructive actions state their destructive effect.
Licensing
OOT adapters inherit their base model's license. oot-oneliner is derived from LiquidAI/LFM3-1.7B-Base and is released under the LFM Open License v1.0, which allows free commercial use only below Liquid AI's revenue threshold. See each model card for details.
Roadmap
New tasks are new adapters on the same base. Candidates include tag extraction, risk classification for agent actions, and structured extraction. Each one ships only after it meets its contract on held-out data.
OOT — Only One Task. One model, one job, one predictable line.