Jev directory
CommunityJev Models & Reimplementations
Laya Browser
cklxx fine-tuned Laya into the decision head of browser-use/jev-ultrafast: one bidirectional encoder pass per step picks the browser operation and target element, and the server answers Jev's /v1/systemone requests identically.
- Reading time
- 2 min
- Published by
- Community
- Author
- cklxx
- Last verified
- Oct 2026
- Languages
- Python
- Capabilities
- Open sourceRuns locally
Highlights
- Drop-in replacement for browser-use/jev-ultrafast: one forward pass per step picks the operation (CLICK, TYPE_TEXT, SELECT, SCROLL, DONE) and target.
- v19s (mmBERT-base, 322M): Suite B 54/54 on 18 held-out sites, Suite C 11-14/54 on 27 multi-step tasks, WebChain click top-1 0.94.
- Trained and evaluated locally on one RTX 4070 Ti SUPER 16 GB with no paid API; a local Qwen3-8B-AWQ only writes TYPE_TEXT text and dropdown values.
- Latency is 22-27 ms at full GPU clock, but idle clocks push the next decision to 75-270 ms; locking the minimum SM clock removes it.
- Serve with python laya_browser.py serve --port 8791, then point jev-ultrafast at TYPESAFE_BASE_URL=http://127.0.0.1:8791.
Quickstart
python
from transformers import AutoModel
m = AutoModel.from_pretrained("cklxx/laya-browser", trust_remote_code=True).to("cuda")
page = {"url": ..., "title": ..., "text": ..., "actions": [
{"id": "e1", "kind": "fill", "node": 1, "label": "Search packages", "role": "searchbox"},
{"id": "e2", "kind": "click", "node": 2, "label": "argo", "role": "link"}]}
d = m.decide(page, goal="Search packages for 'json' and open the package 'argo'.", history=[])
d["operation"], d["action"], d["confidence"]Watch out
Model card reviewed 2026-10-15; the page text was truncated inside the data section. Suite C is the honest headline at roughly 20-26% on real multi-step tasks, single runs vary by plus or minus 4 tasks, and the card says part of the v19s gain over v17s is the harness rather than the model.
Questions about this entry
Short answers drawn from the linked project or page.
A fine-tune of the open Laya decision model into the decision head of browser-use/jev-ultrafast. Each step, one forward pass picks the browser operation and its target element, answering jev-ultrafast's /v1/systemone requests exactly like the evaluation server.
It is a drop-in replacement: point TYPESAFE_BASE_URL at the local server and jev-ultrafast runs as usual. The card says it answered 21 real steps with the same operation and target as the evaluation server, and it is not affiliated with TypeSafe.
v19s scores 54/54 on Suite B's 18 held-out sites and 11-14/54 on Suite C's 27 multi-step tasks on domains absent from training; single runs vary by plus or minus 4 tasks. WebChain held-out click top-1 is 0.94 and target top-1 0.48.
Trained and evaluated on one RTX 4070 Ti SUPER 16 GB with no paid API; CPU works too. A local Qwen3-8B-AWQ only writes the text that TYPE_TEXT types and picks dropdown values.
At full GPU clock a decision takes 22-27 ms, but when the GPU drops to idle clocks between steps the next decision takes 75-270 ms. Locking the minimum SM clock with sudo nvidia-smi -lgc 2100,3135 removes that, at some idle power cost.
Run python laya_browser.py serve --port 8791, adding --model for a downloaded copy, then start jev-ultrafast with TYPESAFE_BASE_URL=http://127.0.0.1:8791 and TYPESAFE_API_KEY=local.
The card says part of the v19s gain over v17s is the improved harness, not the model, and Suite C reaches only about 20-26%. The first request of each input-length bucket also compiles a kernel once, so warm up the server.
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.