{
  "data": {
    "a": {
      "slug": "convai-laya",
      "name": "Laya",
      "vendor": "Convai Innovations",
      "vendorUrl": "https://convaiinnovations.com",
      "kind": "model",
      "category": "decision-models",
      "summary": "Open-source decision engine from Convai Innovations, released under Apache-2.0.",
      "url": "https://www.anchorterminal.com/tools/convai-laya",
      "markdownUrl": "https://www.anchorterminal.com/tools/convai-laya.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/convai-laya.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/convai-laya.json",
      "repo": "https://github.com/NandhaKishorM/laya",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "laya"
        }
      ],
      "auth": "none",
      "authNotes": "No account. `laya-serve` binds to 0.0.0.0:8000 and is open unless `LAYA_API_KEY` is set, after which it requires `Authorization: Bearer \u003ckey\u003e` on every route but liveness. The MCP server runs over stdio. Weights download from Hugging Face without an account.",
      "pricing": "free",
      "pricingNotes": "Free and open source, with nothing to buy. You pay for the hardware, and the README's speed figures were measured on a Tesla T4. The maintainer takes donations through Buy Me A Coffee (https://github.com/NandhaKishorM/laya).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Laya is software you run, and its server has no payment route (checked 2026-10-02).",
        "endpoints": []
      },
      "toolCount": 8,
      "popularity": {
        "githubStars": 29200,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-02"
      },
      "docsUrl": "https://nandhakishorm.github.io/laya/",
      "capabilities": [
        "inference.decision"
      ],
      "tags": [
        "model",
        "open-source",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "python",
        "mcp",
        "batch",
        "pre-1.0"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.2,
        "grade": "B",
        "agentReady": false,
        "rank": 115,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 83,
          "payments": 60,
          "reliability": 65,
          "schema": 80,
          "security": 57,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Apache-2.0 code and weights, installed with `pip install laya`, with Python 3.10 to 3.13 tested in CI. Base checkpoints score 0.362 and 0.352 on the maintainers' typed-decisions benchmark against a 0.318 random baseline, so it needs fine-tuning.",
        "strengths": [
          "Apache-2.0 code and weights, installed with `pip install laya`, with Python 3.10 to 3.13 tested in CI",
          "421M and 322M-parameter encoders that the README times at 32.8 to 39.5 ms for one question on a Tesla T4",
          "A Jev-compatible HTTP server with a batch route for up to 64 states, an 8-tool MCP server, and LangChain, LlamaIndex and CrewAI wrappers",
          "A multilingual checkpoint for 100+ languages and a router that picks the checkpoint per request",
          "An honest-limits section in the README, SECURITY.md with private reporting, and CI that runs gitleaks, pip-audit and CodeQL"
        ],
        "weaknesses": [
          "Base checkpoints score 0.362 and 0.352 on the maintainers' typed-decisions benchmark against a 0.318 random baseline, so it needs fine-tuning",
          "Choice options share a 192 or 256-token budget, and the README reports 0.425 on Banking77's 77 labels",
          "512 tokens of context on the English checkpoint and 1,024 by default on the others",
          "`laya-serve` listens on 0.0.0.0 with no key unless `LAYA_API_KEY` is set",
          "26 releases in 13 days, still 0.x and marked beta, with 61 open issues and 81 open pull requests"
        ],
        "agentNotes": [
          "Set `LAYA_API_KEY` before starting `laya-serve`. It listens on every interface by default",
          "Gate on `answer_confidence`, not `confidence`, which measures entropy and doesn't match Jev's field",
          "Shortlist choice questions with more than about 20 options using `predict_shortlist` or the `laya_shortlist` tool",
          "Use semantic or opaque labels such as `A` and `B`, not `yes` and `no`, in choice questions. The checkpoints can follow the label text",
          "Pass `model=\"multilingual\"` and `max_len=8192` for long documents. The English checkpoint stops at 512 tokens"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.2
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 83,
          "payments": 60,
          "reliability": 65,
          "schema": 80,
          "security": 57,
          "transparency": 70
        },
        "provenanceScore": 53
      },
      "connect": {
        "install": "pip install \"laya[serve]\"\nLAYA_API_KEY=change-me LAYA_DEVICE=cuda LAYA_PRELOAD=1 laya-serve   # 0.0.0.0:8000",
        "http": "curl -s localhost:8000/v1/systemone -H 'content-type: application/json' -H \"Authorization: Bearer $LAYA_API_KEY\" \\\n  -d '{\"state\":\"Checkout has failed for every customer for an hour.\",\"questions\":{\"urgent\":{\"type\":\"noul\",\"instructions\":\"Is this request urgent?\"},\"team\":{\"type\":\"choice\",\"criteria\":{\"billing\":\"Payments and refunds\",\"technical\":\"Outages and errors\"}}}}'",
        "claudeCode": "pip install \"laya[mcp]\" \u0026\u0026 claude mcp add laya -- laya-mcp-server",
        "config": {
          "mcpServers": {
            "laya": {
              "command": "laya-mcp-server",
              "env": {
                "LAYA_DEVICE": "cpu"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/convai-laya"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Convai Innovations Pvt. Ltd.",
        "domain": "convaiinnovations.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/NandhaKishorM/laya/releases",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The package metadata and README credit Convai Innovations. The company's site names Convai Innovations Pvt. Ltd. at the Kerala Startup Mission office in Kasaragod, Kerala, India, but doesn't mention Laya.",
          "convaiinnovations.com/.well-known/security.txt returns 404. SECURITY.md in the repository takes private reports through GitHub Security Advisories.",
          "We didn't read the domain's registration date.",
          "Software you run, so there's no hosted endpoint. The Apache-2.0 licence stands in for terms."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/convai-laya.json",
      "live": {
        "slug": "convai-laya",
        "versions": [
          {
            "registry": "github",
            "name": "NandhaKishorM/laya",
            "version": "v0.3.26",
            "released": "2026-10-03",
            "seenAt": "2026-10-04T16:24:37.135360201Z"
          },
          {
            "registry": "pypi",
            "name": "laya",
            "version": "0.3.26",
            "released": "2026-10-03",
            "seenAt": "2026-10-04T16:24:37.021306811Z"
          }
        ],
        "githubStars": 30633,
        "pypiWeekly": 116603,
        "securityTxt": {
          "url": "https://convaiinnovations.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:00.815739643Z"
        },
        "domain": {
          "domain": "convaiinnovations.com",
          "registered": "2021-09-01",
          "source": "https://rdap.verisign.com/com/v1/domain/convaiinnovations.com",
          "checkedAt": "2026-10-04T13:08:27.291006176Z"
        },
        "updatedAt": "2026-10-04T16:24:37.135360201Z"
      }
    },
    "b": {
      "slug": "jaredpalmer-kev",
      "name": "Kev",
      "vendor": "Jared Palmer",
      "vendorUrl": "https://github.com/jaredpalmer",
      "kind": "model",
      "category": "decision-models",
      "summary": "Kev is a family of four open-weight decision models by Jared Palmer, released together as Kev 1.0 on 1 October 2026 under Apache-2.0.",
      "url": "https://www.anchorterminal.com/tools/jaredpalmer-kev",
      "markdownUrl": "https://www.anchorterminal.com/tools/jaredpalmer-kev.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/jaredpalmer-kev.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jaredpalmer-kev.json",
      "repo": "https://github.com/jaredpalmer/kev",
      "license": "Apache-2.0 (code, adapters and weights)",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "none",
      "authNotes": "No account. `kev.serve` binds to 127.0.0.1 and is open by default. Setting `KEV_API_KEY` makes it require `Authorization: Bearer \u003ckey\u003e` on `/v1/*`, which the TypeSafe clients always send. The weights download from Hugging Face without an account.",
      "pricing": "free",
      "pricingNotes": "Free and open source, with nothing to buy. You pay for the hardware. The Modal deploy skill lists $0.80 an hour for Kev-0.8B on an L4, $1.95 for Kev-4B on an L40S, $3.95 for Kev-9B on an H100 and $6.25 for Kev-27B on a B200 while a container is up, scaling to zero after five idle minutes (https://github.com/jaredpalmer/kev/blob/main/skills/kev-deploy/SKILL.md). Those are Modal's GPU rates as the skill records them, not a Kev price.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Kev is software you run, and its server has no payment route (checked 2026-10-02).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-02"
      },
      "docsUrl": "https://github.com/jaredpalmer/kev#readme",
      "capabilities": [
        "inference.decision"
      ],
      "tags": [
        "model",
        "open-source",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "python"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.4,
        "grade": "B",
        "agentReady": false,
        "rank": 141,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 83,
          "payments": 60,
          "reliability": 73,
          "schema": 77,
          "security": 49,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Apache-2.0 code, adapters and heads on Apache-2.0 Qwen bases, with release tarballs and SHA-256 checksums for the 0.8B, 4B and 9B models. No package. `pip install kev` installs an unrelated 2021 ORM, so Kev runs from a Git clone with uv.",
        "strengths": [
          "Apache-2.0 code, adapters and heads on Apache-2.0 Qwen bases, with release tarballs and SHA-256 checksums for the 0.8B, 4B and 9B models",
          "The same `/v1/systemone` request and answer shapes as Jev, and the README says TypeSafe's Python SDK works against it unchanged",
          "A fitted temperature per checkpoint, with Brier scores, calibration error and confident-error rates published for each model",
          "Runs on CUDA, ROCm and Apple Silicon, from a 4 GB GPU for Kev-0.8B to one 80 GB GPU for Kev-27B, and deploys to Modal with one command",
          "Release notes that list known failures with numbers, such as date arithmetic and Kev-0.8B's tool-routing accuracy"
        ],
        "weaknesses": [
          "No package. `pip install kev` installs an unrelated 2021 ORM, so Kev runs from a Git clone with uv",
          "Kev-0.8B, 4B and 9B are validated to 8,192 tokens of state, though the server accepts 65,536",
          "Jared Palmer wrote 312 of the 333 commits we cloned",
          "No SECURITY.md, disclosure policy or advisories, and the server is open unless `KEV_API_KEY` is set",
          "Below 27B it trails Jev on knowledge questions and date arithmetic, with MMLU-Pro at 0.59 for Kev-9B against Jev's 0.84"
        ],
        "agentNotes": [
          "Install from the repository. The `kev` package on PyPI is an unrelated project",
          "Pin a checkpoint with `@v1.0`, as in `jaredpalmer/kev-4b@v1.0`, so tuned thresholds keep their meaning",
          "Keep states under 8,192 tokens on Kev-0.8B, 4B and 9B, or use Kev-27B for long documents",
          "Set `KEV_DATE_FACTS=1` when a decision depends on the gap between two dates",
          "Expect a 422 naming the token count when a state passes 65,536 tokens. The server refuses it instead of cutting it"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.4
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 83,
          "payments": 60,
          "reliability": 73,
          "schema": 77,
          "security": 49,
          "transparency": 70
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "git clone https://github.com/jaredpalmer/kev.git \u0026\u0026 cd kev \u0026\u0026 uv sync --extra serve\nuv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b@v1.0 --port 8009",
        "http": "curl -s localhost:8009/v1/systemone -H 'content-type: application/json' \\\n  -d '{\"model\":\"kev-latest\",\"state\":\"Checkout has failed for every customer for an hour.\",\"questions\":{\"urgent\":{\"type\":\"noul\",\"instructions\":\"Is this request urgent?\"},\"team\":{\"type\":\"choice\",\"criteria\":{\"billing\":\"Payments and refunds\",\"technical\":\"Outages and errors\"}}}}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/jaredpalmer-kev"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "",
        "domain": "github.com/jaredpalmer",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/jaredpalmer/kev/releases",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "An individual's open-source project under Apache-2.0, with no company named in the licence, README or package metadata. The pyproject names Jared Palmer as author.",
          "No vendor domain. The code is at github.com/jaredpalmer/kev and the weights at huggingface.co/jaredpalmer, so the domain line names the GitHub account and scores no domain age.",
          "Software you run, so there's no hosted endpoint, terms or privacy policy to check.",
          "The changelog is the GitHub releases page (`kev-1.0`, 1 October 2026) and docs/releases/kev-1.0.md."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/jaredpalmer-kev.json",
      "live": {
        "slug": "jaredpalmer-kev",
        "versions": [
          {
            "registry": "github",
            "name": "jaredpalmer/kev",
            "version": "kev-1.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:30:33.251613101Z"
          }
        ],
        "githubStars": 8419,
        "domain": {
          "domain": "github.com/jaredpalmer",
          "checkedAt": "2026-10-04T13:10:21.931207592Z"
        },
        "updatedAt": "2026-10-04T16:30:33.251613101Z"
      }
    },
    "summary": "Laya has a score of 69.2 (B) against Kev's 67.4 (B). Both do inference decision. The largest gap is transparency \u0026 trust, 13 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/convai-laya-vs-jaredpalmer-kev",
    "json": "https://www.anchorterminal.com/compare/convai-laya-vs-jaredpalmer-kev.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/convai-laya-vs-jaredpalmer-kev.md",
    "slim": "https://www.anchorterminal.com/compare/convai-laya-vs-jaredpalmer-kev.min.md"
  },
  "markdown": "Laya has a score of 69.2 (B) against Kev's 67.4 (B). Both do inference decision. The largest gap is transparency \u0026 trust, 13 points.\n\n- Laya: grade B, 69.2/100, rank #115 of 452. Markdown https://www.anchorterminal.com/tools/convai-laya.md · JSON https://www.anchorterminal.com/api/v1/tools/convai-laya.json\n- Kev: grade B, 67.4/100, rank #141 of 452. Markdown https://www.anchorterminal.com/tools/jaredpalmer-kev.md · JSON https://www.anchorterminal.com/api/v1/tools/jaredpalmer-kev.json\n\n## Which one, for what\n\nPick Laya for security \u0026 auth (+8), transparency \u0026 trust (+13).\n\nPick Kev for reliability (+8).\n\n## Score by category\n\n| Category | Weight | Laya | Kev | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 73 | Kev +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 77 | Laya +3 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 78 | Laya +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 49 | Laya +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 83 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 49 | Laya +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.2 · B** | **67.4 · B** | |\n\n## Facts side by side\n\n| Fact | Laya | Kev |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Convai Innovations | Jared Palmer |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP, stdio | HTTP |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 (code, adapters and weights) |\n| Tools exposed | 8 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-10-01 | 2026-10-01 |\n| Popularity | 29k stars | none |\n| Agent reviews | 2.5/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Laya.** Apache-2.0 code and weights, installed with `pip install laya`, with Python 3.10 to 3.13 tested in CI. Base checkpoints score 0.362 and 0.352 on the maintainers' typed-decisions benchmark against a 0.318 random baseline, so it needs fine-tuning.\n\n**Kev.** Apache-2.0 code, adapters and heads on Apache-2.0 Qwen bases, with release tarballs and SHA-256 checksums for the 0.8B, 4B and 9B models. No package. `pip install kev` installs an unrelated 2021 ORM, so Kev runs from a Git clone with uv.\n\n## Before you call either\n\n### Laya\n\n1. Set `LAYA_API_KEY` before starting `laya-serve`. It listens on every interface by default\n2. Gate on `answer_confidence`, not `confidence`, which measures entropy and doesn't match Jev's field\n3. Shortlist choice questions with more than about 20 options using `predict_shortlist` or the `laya_shortlist` tool\n4. Use semantic or opaque labels such as `A` and `B`, not `yes` and `no`, in choice questions. The checkpoints can follow the label text\n5. Pass `model=\"multilingual\"` and `max_len=8192` for long documents. The English checkpoint stops at 512 tokens\n\n### Kev\n\n1. Install from the repository. The `kev` package on PyPI is an unrelated project\n2. Pin a checkpoint with `@v1.0`, as in `jaredpalmer/kev-4b@v1.0`, so tuned thresholds keep their meaning\n3. Keep states under 8,192 tokens on Kev-0.8B, 4B and 9B, or use Kev-27B for long documents\n4. Set `KEV_DATE_FACTS=1` when a decision depends on the gap between two dates\n5. Expect a 422 naming the token count when a state passes 65,536 tokens. The server refuses it instead of cutting it\n\n## Other comparisons with Laya or Kev\n\n- [Clef vs Laya](https://www.anchorterminal.com/compare/cloudflare-clef-vs-convai-laya.md)\n- [Clef vs Kev](https://www.anchorterminal.com/compare/cloudflare-clef-vs-jaredpalmer-kev.md)\n- [Laya vs Jev](https://www.anchorterminal.com/compare/convai-laya-vs-typesafe-jev.md)\n- [Kev vs Jev](https://www.anchorterminal.com/compare/jaredpalmer-kev-vs-typesafe-jev.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Laya vs Kev",
        "url": ""
      }
    ],
    "description": "Laya has a score of 69.2 (B) against Kev's 67.4 (B). Both do inference decision. The largest gap is transparency \u0026 trust, 13 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Laya B 69.2",
      "Kev B 67.4",
      "scores"
    ],
    "h1": "Laya vs Kev",
    "image": "https://www.anchorterminal.com/assets/og/compare-convai-laya-vs-jaredpalmer-kev.png",
    "path": "/compare/convai-laya-vs-jaredpalmer-kev",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Laya vs Kev for AI agents, B 69.2 vs B 67.4 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/convai-laya-vs-jaredpalmer-kev"
  },
  "tokens": {
    "markdown": 1200,
    "slim": 330
  },
  "version": 1
}
