Support-triage workbench

The frame is the official Convai Hugging Face Space. Inference via official Convai HF Space. The article under it is ordinary HTML: what System-1 answers, a sourced Laya vs Jev table, and how to run locally. When the Space is queued or down, the labeled fallback is further down the page. Python, cURL, and the notebook call Router from the upstream package.

Live (HF Space). Inference via official Convai HF Space. The frame is the official Convai Space, so the checkpoint runs on their hardware. This site does not download the weights. If the Space is queued or down, use Offline demo below.

Open live Space

What this System-1 decision model does

Laya AI is an open-source System-1 decision model from Convai Innovations / NandhaKishorM. One forward pass returns typed answers over text. It does not generate a paragraph you have to parse. You define the questions. The checkpoint fills choice, score, and noul. Run it on the official Hugging Face Space or locally with python -m pip install laya.

choice
One label, a probability per option, and a confidence. Routing, intent, topic.
score
Expected level on an ordered rubric. Urgency, frustration, severity.
noul
P(true) from 0 to 1. Phishing, churn, “does this statement hold?”.

Laya vs Jev, from the README

These cells are the upstream README’s routed comparison. This site did not remeasure them. The 0.766 cell is laya-typed-decisions after fine-tuning. On the same 2,000 decisions the English base is 0.362 and the multilingual base is 0.352, under a 0.461 majority baseline. pip install laya does not apply that fine-tune. The full split, including third-party cards, is on Laya vs Jev.

Source: NandhaKishorM/laya README, “Laya (with routing) vs Jev”. Jev latency citations in that README: AbdelStark/jev-benchmarks and nibzard/decision-model-benchmark.
Jev 1.13.0Laya (routed)
typed-decisions, 2,000 decisions0.7270.766
AG News, 4 labels0.9100.950
DAIR Emotion, 6 labels0.4800.595
Banking77 (72 vs 77 labels)0.8700.425
ECE, lower better, post-temperature0.2460.081
p50 latency, 1 question236–276 ms32.8 ms

Run locally

Python 3.10 or newer, then python -m pip install laya. The README does not publish a minimum VRAM. After preload, one multilingual question is 32.8 ms on a Tesla T4 and 193–464 ms on CPU. max_loaded=1 reloads on a language switch (7.4 s median on CPU, 10.3 s on a T4). Details: run locally.

Laya AI is not LayaAir

LayaAir is the Layabox game engine. This page is about the Apache-2.0 decision checkpoint in NandhaKishorM/laya. The site is an unofficial community project and is not affiliated with Convai Innovations. The 中文页面 repeats that distinction.

Offline demo

Offline demo. Local weights are not loaded. This pass is a keyword heuristic with the same JSON shape as Router().predict. It is the fallback when the Space above is queued or down.
Tasks
Routing

Route a ticket, score urgency, and flag churn.

Ctrl+Enter runs live

Run live calls the Space Playground endpoint (run_playground). Inference via official Convai HF Space. The checkpoint menu above applies to Offline demo and the export, not to that call. Han text is routed on the Multilingual routing tab in the frame. The README says act_probability is not a usable gate.

Checks

  • These probabilities are the keyword demo, not convaiinnovations/laya. Python, cURL, and the notebook call the package on your machine.

Run the decision to see the route, probabilities, and schema checks. The button uses the labeled demo.

Export the same ticket

Python, cURL, and the notebook match the editors and call the real package. They do not call /api/demo. Router(preload=True) downloads checkpoints on first use. cURL expects laya-serve already listening on 127.0.0.1:8000.

pip
python -m pip install laya
Python
from laya import Router

router = Router(preload=True)

state = {
    "from": "user@acme.com",
    "subject": "Duplicate charge on invoice #4411",
    "body": "Hi, we were billed twice for March. Please refund the duplicate today or we will cancel our plan."
}

questions = {
    "department": {
        "type": "choice",
        "instructions": "Which department should handle this request?",
        "criteria": {
            "billing": "invoices, payments, refunds",
            "technical": "bugs, outages, system errors",
            "sales": "pricing, new contracts",
            "other": "everything else"
        }
    },
    "urgency": {
        "type": "score",
        "instructions": "How urgent is this request?",
        "criteria": [
            "not urgent",
            "soon",
            "critical deadline or blocking issue"
        ]
    },
    "churn_risk": {
        "type": "noul",
        "instructions": "Does the user threaten to cancel or leave?"
    },
    "refund_requested": {
        "type": "noul",
        "instructions": "Does the user explicitly request a refund?"
    }
}

result = router.predict(state, questions)
print(result["answers"])
print(result["routing"]["model"])
cURL · local laya-serve
# Local laya-serve only. Start it first, then send this body.
#   pip install "laya[serve]" && laya-serve
# Docker: see docs/docker.md (POST /v1/systemone). This URL is not the site demo.
curl -sS http://127.0.0.1:8000/v1/systemone \
  -H 'content-type: application/json' \
  -d '{"state":{"from":"user@acme.com","subject":"Duplicate charge on invoice #4411","body":"Hi, we were billed twice for March. Please refund the duplicate today or we will cancel our plan."},"questions":{"department":{"type":"choice","instructions":"Which department should handle this request?","criteria":{"billing":"invoices, payments, refunds","technical":"bugs, outages, system errors","sales":"pricing, new contracts","other":"everything else"}},"urgency":{"type":"score","instructions":"How urgent is this request?","criteria":["not urgent","soon","critical deadline or blocking issue"]},"churn_risk":{"type":"noul","instructions":"Does the user threaten to cancel or leave?"},"refund_requested":{"type":"noul","instructions":"Does the user explicitly request a refund?"}}}'

The .ipynb is an unofficial export: %pip install laya, then the same Router script. It is not a Convai notebook.

Open the official Colab notebook. The Hugging Face Space runs their weights. Docker is on Serve with Docker. Preload pitfalls are on Get started.

Run Laya AI live · Laya AI