lazos/lfm2.5-350m-frontend-agent
frontend-agent - LFM2.5-350M (v1.3.0, bounded)
A generic English web/front-end agent fine-tuned from `LiquidAI/LFM2.5-350M`, small enough to run entirely in the browser (edge / wllama, no server-side model).
Sibling model: for the smallest / fastest build, see the 230M variant - `lazos/lfm2.5-230m-frontend-agent`. The 350M offers more headroom at ~1.5x the footprint; pick per device budget.
Bounded context
A stateless, context-bounded agent. It grounds every turn in a compact context block C the host app injects: the current VIEW (items on screen, with ids + prices), the CART, and any relevant KNOWLEDGE. The model reads and acts on exactly what it is given - add/remove by the shown id, answer prices from the view, resolve references like "the second one", list what's actually there - and does not invent items. The app re-injects C each turn (the model holds no state).
Pair it with the npm library `frontend-agent`, whose ContextManager renders C in the exact format the model was trained on (a shared, versioned contract).
What's new in v1.3.0
- Beyond-view resolution. For an item not on screen, the model now searches by name first (
list_items/get_item) before acting, instead of grabbing a look-alike id already in view - fixes both beyond-view add and beyond-view price lookups. - Filtering with a view present. "under $30" / category constraints populate the advertised
list_itemsfilters even when items are already on screen. - Off-scope steering + small talk. Genuinely off-topic asks get a brief decline plus a nudge to what the agent can do; social small talk gets a short in-character reply - both learned as a pattern (never a fixed anti-topic list), so they generalize to unseen inputs.
- Quantity / unit disambiguation. A number embedded in a title ("18g Basket") is no longer misread as a quantity.
- Open-license training data. Synthetic data distilled from Apache-2.0 / MIT teachers (Qwen2.5-7B + Qwen3-30B-A3B, via OpenRouter) - no proprietary-model output in the dataset.
Usage
Serve a GGUF in-browser via wllama; each turn, build the system prompt from the library's ContextManager (persona + VIEW/CART/KNOWLEDGE) and advertise your tool schemas. See the project repo for the runtime wiring. Or fine-tune further from the transformers checkpoint (model.safetensors).
Files
Trained on the `lazos/frontend-agent-sft` dataset (v1.3.0).
License
Fine-tune of LFM2.5-350M; inherits the LFM Open License 1.0 (see LICENSE/NOTICE). Training data is fully synthetic (open-license teachers).
