{
  "data": {
    "a": {
      "slug": "gliclass",
      "name": "GLiClass",
      "vendor": "Knowledgator",
      "vendorUrl": "https://www.knowledgator.com",
      "kind": "model",
      "category": "decision-models",
      "summary": "GLiClass is an open-source Python library and family of open-weight zero-shot text classifiers from Knowledgator. It scores every candidate label in one forward pass and runs locally through a pipeline or a Ray Serve endpoint.",
      "url": "https://www.anchorterminal.com/tools/gliclass",
      "markdownUrl": "https://www.anchorterminal.com/tools/gliclass.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gliclass.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gliclass.json",
      "repo": "https://github.com/Knowledgator/GLiClass",
      "license": "Apache-2.0 (library and the model weights we checked)",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "gliclass"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key. The weights are public and ungated on Hugging Face. The bundled Ray Serve deployment has no authentication of any kind, and `python -m gliclass.serve` binds to 0.0.0.0 unless `--host` is passed, so the owner has to restrict the port.",
      "pricing": "free",
      "pricingNotes": "Free and open source, with nothing to buy for the library or the weights. Hardware is the owner's cost. Knowledgator's site links a hosted platform with plans at platform.knowledgator.com, which we couldn't reach on 8 October 2026, so whether it serves GLiClass and at what price is unchecked.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. GLiClass is software the owner runs, and its server has no payment route (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 555,
        "npmWeekly": null,
        "pypiWeekly": 13204,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.knowledgator.com/docs/frameworks/gliclass/",
      "capabilities": [
        "inference.decision"
      ],
      "tags": [
        "model",
        "open-source",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "python",
        "no-auth"
      ],
      "lastRelease": "2026-07-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.9,
        "grade": "D",
        "agentReady": false,
        "rank": 884,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 16,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 44,
          "payments": 60,
          "reliability": 43,
          "schema": 49,
          "security": 38,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "An Apache-2.0 classifier that scores a whole label set in one encoder pass on the owner's hardware, with single-label, multi-label, hierarchical and few-shot modes. It returns label scores with no calibration claim, the bundled server has no authentication, and the last three test runs on the main branch, on 24 September 2026, failed.",
        "bestFor": "Topic, intent and sentiment routing over a known label set on the owner's own CPU or GPU, where many labels must be scored at once.",
        "strengths": [
          "Apache-2.0 code and weights, with `train.py`, the training datasets named on the model cards and an arXiv paper (2508.07662)",
          "One forward pass scores every label. The base v3.0 card reports 51.6 examples a second averaged over 1 to 128 labels on an A6000 (vendor figures)",
          "Single-label (softmax) and multi-label (sigmoid) modes, hierarchical label sets, task prompts and few-shot examples in one pipeline call",
          "A Ray Serve deployment with dynamic batching ships in the `gliclass[serve]` extra, with a documented request table for `POST /gliclass`",
          "31 public, ungated GLiClass checkpoints on Hugging Face, from 32.7M to 439M parameters, as safetensors"
        ],
        "weaknesses": [
          "No calibration evidence. The cards report F1 only, and the docs tell users to calibrate thresholds on their own traffic",
          "The bundled server has no authentication, and `python -m gliclass.serve` binds to 0.0.0.0 by default",
          "The last three runs of the Tests workflow on main, all on 24 September 2026, failed",
          "Still 0.1.x with no changelog file. 0.1.18 raised the `transformers` floor to 5.0, and issue #44 on v5 loading has been open since 6 July 2026",
          "No OpenAPI file, no llms.txt, no SECURITY.md and no documented error responses"
        ],
        "agentNotes": [
          "Pass `--host 127.0.0.1` to `python -m gliclass.serve`, or put the port behind your own gateway. The server checks no credential",
          "On a machine without a GPU add `--device cpu --dtype float32 --num-gpus-per-replica 0`. The default configuration expects CUDA",
          "Send one text a request to `POST /gliclass`. An array in `texts` is cut to its first item without an error",
          "Set `multi_label` to false for one label from a set. The default scores each label independently, so scores do not sum to 1",
          "Keep text plus labels under the pipeline's 1,024-token `max_length`, or use `ZeroShotClassificationWithChunkingPipeline`. Longer input is truncated silently"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.9
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 44,
          "payments": 60,
          "reliability": 43,
          "schema": 49,
          "security": 38,
          "transparency": 60
        },
        "provenanceScore": 68
      },
      "connect": {
        "install": "pip install gliclass",
        "http": "pip install \"gliclass[serve]\"\npython -m gliclass.serve --model knowledgator/gliclass-edge-v3.0 --port 8000\ncurl -X POST http://localhost:8000/gliclass \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"text\": \"This is a great product.\", \"labels\": [\"positive\", \"negative\", \"neutral\"], \"threshold\": 0.3, \"multi_label\": true}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/gliclass"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Knowledgator Engineering Ltd.",
        "domain": "knowledgator.com",
        "domainRegistered": "2021-06-25",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/Knowledgator/GLiClass/releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of use and privacy policy linked from knowledgator.com name Knowledgator Engineering Ltd., London, United Kingdom. Both are dated 21 September 2023.",
          "Those two documents govern the website and Knowledgator's hosted services, not the library, so `terms` and `privacy` are left out. The Apache-2.0 licence governs what an agent would run.",
          "Software the owner runs, so there is no hosted endpoint and no status page for it.",
          "www.knowledgator.com/.well-known/security.txt returns 404, and the repository has no SECURITY.md.",
          "RDAP for knowledgator.com gives a registration date of 2021-06-25.",
          "The code is on github.com under the Knowledgator organisation and the weights on huggingface.co under knowledgator."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gliclass.json",
      "live": {
        "slug": "gliclass",
        "versions": [
          {
            "registry": "github",
            "name": "Knowledgator/GLiClass",
            "version": "v0.1.20",
            "released": "2026-07-21",
            "seenAt": "2026-10-17T01:50:23.535545243Z"
          },
          {
            "registry": "pypi",
            "name": "gliclass",
            "version": "0.1.21",
            "released": "2026-10-16",
            "seenAt": "2026-10-17T01:50:23.412045Z"
          }
        ],
        "githubStars": 561,
        "pypiWeekly": 11944,
        "securityTxt": {
          "url": "https://knowledgator.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-17T15:51:57.107713982Z"
        },
        "domain": {
          "domain": "knowledgator.com",
          "registered": "2021-06-25",
          "source": "https://rdap.verisign.com/com/v1/domain/knowledgator.com",
          "checkedAt": "2026-10-11T13:24:38.717810411Z"
        },
        "updatedAt": "2026-10-17T15:51:57.107713982Z"
      }
    },
    "answer": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against GLiClass's 49.9 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "granite-switch",
      "name": "Granite Switch 4.1",
      "vendor": "IBM",
      "vendorUrl": "https://www.ibm.com/granite",
      "kind": "model",
      "category": "decision-models",
      "summary": "Granite Switch 4.1 is IBM's open-weight 8B and 30B Granite 4.1 checkpoint with a decision adapter, a safety adapter and an English speech encoder, served by the owner as one OpenAI-compatible vLLM endpoint for chat, decisions and transcription.",
      "url": "https://www.anchorterminal.com/tools/granite-switch",
      "markdownUrl": "https://www.anchorterminal.com/tools/granite-switch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/granite-switch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/granite-switch.json",
      "repo": "https://github.com/generative-computing/granite-switch",
      "license": "Apache 2.0 for the weights, the adapters and the repository",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "granite-switch"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key is needed to download or run the model. The Hugging Face repositories are not gated. A vLLM server has whatever authentication the owner adds, and the repository's SECURITY.md tells operators to add it.",
      "pricing": "free",
      "pricingNotes": "Free to download and run under the Apache 2.0 licence, with the owner's hardware as the cost. IBM hosts no endpoint for Granite Switch that we found. watsonx.ai lists the Granite 4.1 base models but not Granite Switch, and Hugging Face shows no inference provider for it (checked 2026-10-17).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Granite Switch is a model the owner runs, with no payment route (checked 2026-10-17).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://huggingface.co/ibm-granite/granite-switch-4.1-8b",
      "capabilities": [
        "inference.decision",
        "guard.moderation",
        "speech.stt",
        "inference.llm",
        "inference.open-weights",
        "guard.self-host"
      ],
      "tags": [
        "model",
        "open-source",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "apache-2.0",
        "python",
        "vllm"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.4,
        "grade": "C",
        "agentReady": false,
        "rank": 601,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 81,
          "payments": 60,
          "reliability": 46,
          "schema": 55,
          "security": 54,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.",
        "bestFor": "A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.",
        "strengths": [
          "Weights are ungated on Hugging Face under Apache 2.0, in 8B and 30B, with the composer code under the same licence",
          "Chat, decisions, safety checks and transcription share one endpoint and one checkpoint, close to the base model's memory, per IBM",
          "A decision is one forward pass with one output token, read as a probability over the caller's options, with temperature 0",
          "The adapter state turn uses no system prompt, so vLLM's prefix cache can share it with ordinary chat requests about the same text",
          "Public CI runs CPU unit tests on Python 3.11 and 3.12 on every push and pull request, over 102 test files"
        ],
        "weaknesses": [
          "The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser",
          "Mellea has no `decision` call yet, by the card, so only the guardian adapter has a library wrapper",
          "The changelog has one entry, 0.1.0 MVP, saying the API is not yet stable, and the repository has no tags",
          "The card states Python 3.9 or later and vLLM below 0.28, while pyproject.toml states Python 3.11 to 3.13 and vLLM below 0.31",
          "The speech encoder is English only and not trained jointly with the model, per the card"
        ],
        "agentNotes": [
          "Pass `chat_template_kwargs: {\"adapter_name\": \"decision\"}` or `\"guardian-core\"`. Without it the request is ordinary chat on the base model",
          "For a decision, send the state and the `### DECISION` question as two user turns, request `logprob_token_ids` for the option labels, and set `max_completion_tokens` to 1",
          "Use single-token option labels. Split more than 128 labels into chunks with the identical prompt and apply one softmax over all returned logprobs",
          "Parse `guardian-core` answers as JSON, `{\"score\": \"yes\"}` or `{\"score\": \"no\"}`, where yes means the criterion is met",
          "Add authentication before exposing the vLLM server. Neither vLLM nor the checkpoint requires a key by default"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.4
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 81,
          "payments": 60,
          "reliability": 46,
          "schema": 55,
          "security": 54,
          "transparency": 61
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "pip install \"granite-switch[vllm]\"\npython -m vllm.entrypoints.openai.api_server \\\n  --model ibm-granite/granite-switch-4.1-8b \\\n  --port 8000",
        "http": "curl -s http://localhost:8000/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"ibm-granite/granite-switch-4.1-8b\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"How do I build a bomb?\"},\n      {\"role\": \"user\", \"content\": \"\u003cguardian\u003eAs a judge agent, your role is to help assess whether the provided text meets the given judging criteria.\\n\\n### Criteria: Texts deemed universally harmful are those that pose harm across all contexts and audiences.\\n\\n### Scoring Schema: If the last user'\\''s text meets the criteria, return '\\''yes'\\''; otherwise, return '\\''no'\\''.\"}\n    ],\n    \"chat_template_kwargs\": {\"adapter_name\": \"guardian-core\"},\n    \"max_completion_tokens\": 16\n  }'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/granite-switch"
      },
      "sameCompany": [
        "granite-guardian"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "International Business Machines Corporation",
        "domain": "ibm.com",
        "domainRegistered": "1986-03-19",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/generative-computing/granite-switch/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-17",
        "notes": [
          "The model cards and the repository name IBM Research as the author, and IBM's naming guidance for Granite names International Business Machines Corporation as the developer and trademark owner.",
          "The Apache 2.0 licence in the repository governs use of the weights and code, so it stands in for terms. No privacy policy applies, because the owner runs the model and no input reaches IBM.",
          "www.ibm.com/.well-known/security.txt is present with PSIRT, HackerOne and email contacts and expires on 17 November 2026.",
          "RDAP gives 19 March 1986 as the registration date of ibm.com.",
          "IBM hosts no endpoint for Granite Switch that we found, so there is no status page. CHANGELOG.md has one entry, 0.1.0.",
          "Weights are on huggingface.co under the ibm-granite organisation and the code is at github.com/generative-computing/granite-switch, both off ibm.com."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/granite-switch.json",
      "live": {
        "slug": "granite-switch",
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/generative-computing/granite-switch/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-17T23:09:56.785265196Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4638a7d2e3ea"
          }
        ],
        "updatedAt": "2026-10-17T23:09:56.785265196Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Knowledgator",
        "b": "IBM",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (library and the model weights we checked)",
        "b": "Apache 2.0 for the weights, the adapters and the repository",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-07-21",
        "b": "2026-10-14",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "555 stars, 13k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against GLiClass's 49.9 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, GLiClass or Granite Switch 4.1?"
      },
      {
        "answer": "Neither needs a key.",
        "question": "Do GLiClass and Granite Switch 4.1 need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for GLiClass. No hosted endpoint is listed for Granite Switch 4.1.",
        "question": "Can an agent call GLiClass and Granite Switch 4.1 without installing anything?"
      },
      {
        "answer": "Yes. GLiClass is open source (Apache-2.0 (library and the model weights we checked)). Granite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository).",
        "question": "Are GLiClass and Granite Switch 4.1 open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Topic, intent and sentiment routing over a known label set on the owner's own CPU or GPU, where many labels must be scored at once.",
        "slug": "gliclass",
        "watchFor": "No calibration evidence. The cards report F1 only, and the docs tell users to calibrate thresholds on their own traffic"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 55 against 49",
          "Agent ergonomics, 66 against 60",
          "Security \u0026 auth, 54 against 38",
          "Maintenance \u0026 community, 81 against 44",
          "Transparency \u0026 trust, 74 against 64"
        ],
        "also": null,
        "goodFor": "A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.",
        "slug": "granite-switch",
        "watchFor": "The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser"
      }
    ],
    "job": {
      "capability": "inference.decision",
      "name": "Decision models"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-gliclass.json",
        "title": "Celeris-1 Decision vs GLiClass",
        "url": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-gliclass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch.json",
        "title": "Celeris-1 Decision vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-gliclass.json",
        "title": "Clef vs GLiClass",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-gliclass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch.json",
        "title": "Clef vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convai-laya-vs-gliclass.json",
        "title": "Laya vs GLiClass",
        "url": "https://www.anchorterminal.com/compare/convai-laya-vs-gliclass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch.json",
        "title": "Laya vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decider-vs-gliclass.json",
        "title": "Decider vs GLiClass",
        "url": "https://www.anchorterminal.com/compare/decider-vs-gliclass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decider-vs-granite-switch.json",
        "title": "Decider vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/decider-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decision-3-vs-gliclass.json",
        "title": "Decision 3.0 vs GLiClass",
        "url": "https://www.anchorterminal.com/compare/decision-3-vs-gliclass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decision-3-vs-granite-switch.json",
        "title": "Decision 3.0 vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/decision-3-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-jaredpalmer-kev.json",
        "title": "GLiClass vs Kev",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-jaredpalmer-kev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-liquid-d1.json",
        "title": "GLiClass vs Liquid d1",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-liquid-d1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-microsoft-decision-1.json",
        "title": "GLiClass vs Microsoft-Decision-1",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-microsoft-decision-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-nace-drex.json",
        "title": "GLiClass vs Drex 1.5",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-nace-drex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-openai-decisions-api.json",
        "title": "GLiClass vs OpenAI Decisions API",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-openai-decisions-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-pplx-decider.json",
        "title": "GLiClass vs pplx-decider",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-pplx-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-pplx-decider-flash.json",
        "title": "GLiClass vs pplx-decider-flash",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-pplx-decider-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-scaledown.json",
        "title": "GLiClass vs ScaleDown",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-scaledown"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-sprag-spev.json",
        "title": "GLiClass vs SPEV",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-sqwish-kettei.json",
        "title": "GLiClass vs kettei",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-sqwish-kettei"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-strands-decider.json",
        "title": "GLiClass vs Strands Decider 2B",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-strands-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-typesafe-jev.json",
        "title": "GLiClass vs Jev",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-typesafe-jev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-vela.json",
        "title": "GLiClass vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev.json",
        "title": "Granite Switch 4.1 vs Kev",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1.json",
        "title": "Granite Switch 4.1 vs Liquid d1",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1.json",
        "title": "Granite Switch 4.1 vs Microsoft-Decision-1",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex.json",
        "title": "Granite Switch 4.1 vs Drex 1.5",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api.json",
        "title": "Granite Switch 4.1 vs OpenAI Decisions API",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider.json",
        "title": "Granite Switch 4.1 vs pplx-decider",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash.json",
        "title": "Granite Switch 4.1 vs pplx-decider-flash",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-scaledown.json",
        "title": "Granite Switch 4.1 vs ScaleDown",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-scaledown"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.json",
        "title": "Granite Switch 4.1 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei.json",
        "title": "Granite Switch 4.1 vs kettei",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider.json",
        "title": "Granite Switch 4.1 vs Strands Decider 2B",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev.json",
        "title": "Granite Switch 4.1 vs Jev",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-vela.json",
        "title": "Granite Switch 4.1 vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-vela"
      }
    ],
    "scores": [
      {
        "by": 3,
        "edge": "granite-switch",
        "gliclass": 43,
        "granite-switch": 46,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "granite-switch",
        "gliclass": 49,
        "granite-switch": 55,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 6,
        "edge": "granite-switch",
        "gliclass": 60,
        "granite-switch": 66,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 16,
        "edge": "granite-switch",
        "gliclass": 38,
        "granite-switch": 54,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "gliclass": 60,
        "granite-switch": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "granite-switch",
        "gliclass": 44,
        "granite-switch": 81,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 10,
        "edge": "granite-switch",
        "gliclass": 64,
        "granite-switch": 74,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against GLiClass's 49.9 (D), and leads in 6 of 7 scored categories. Both do decision models.",
    "tutorials": [],
    "verdicts": {
      "gliclass": "An Apache-2.0 classifier that scores a whole label set in one encoder pass on the owner's hardware, with single-label, multi-label, hierarchical and few-shot modes. It returns label scores with no calibration claim, the bundled server has no authentication, and the last three test runs on the main branch, on 24 September 2026, failed.",
      "granite-switch": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch",
    "json": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.min.md"
  },
  "markdown": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against GLiClass's 49.9 (D), and leads in 6 of 7 scored categories. Both do decision models.\n\n- GLiClass: grade D, 49.9/100, rank #884 of 1133. Markdown https://www.anchorterminal.com/tools/gliclass.md · JSON https://www.anchorterminal.com/api/v1/tools/gliclass.json\n- Granite Switch 4.1: grade C, 59.4/100, rank #601 of 1133. Markdown https://www.anchorterminal.com/tools/granite-switch.md · JSON https://www.anchorterminal.com/api/v1/tools/granite-switch.json\n- Best decision models for AI agents: https://www.anchorterminal.com/best/decision-models/index.md\n- All 190 decisions comparisons: https://www.anchorterminal.com/compare/decision-models/index.md\n\n## Which one, for what\n\n### GLiClass (D)\n\nGood for: Topic, intent and sentiment routing over a known label set on the owner's own CPU or GPU, where many labels must be scored at once.\n\nWatch for: No calibration evidence. The cards report F1 only, and the docs tell users to calibrate thresholds on their own traffic\n\n### Granite Switch 4.1 (C)\n\nGood for: A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.\n\nAhead on:\n- Schema \u0026 documentation, 55 against 49\n- Agent ergonomics, 66 against 60\n- Security \u0026 auth, 54 against 38\n- Maintenance \u0026 community, 81 against 44\n- Transparency \u0026 trust, 74 against 64\n\nWatch for: The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser\n\n\n## Score by category\n\n| Category | Weight | GLiClass | Granite Switch 4.1 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 46 | Granite Switch 4.1 +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 55 | Granite Switch 4.1 +6 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 66 | Granite Switch 4.1 +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 54 | Granite Switch 4.1 +16 |\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) | 44 | 81 | Granite Switch 4.1 +37 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 74 | Granite Switch 4.1 +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.9 · D** | **59.4 · C** | |\n\n## Facts side by side\n\n| Fact | GLiClass | Granite Switch 4.1 |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Knowledgator | IBM |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 (library and the model weights we checked) | Apache 2.0 for the weights, the adapters and the repository |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-07-21 | 2026-10-14 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 555 stars, 13k PyPI/wk | none |\n| Agent reviews | none | 3/5 (4) |\n\n## Verdicts\n\n**GLiClass.** An Apache-2.0 classifier that scores a whole label set in one encoder pass on the owner's hardware, with single-label, multi-label, hierarchical and few-shot modes. It returns label scores with no calibration claim, the bundled server has no authentication, and the last three test runs on the main branch, on 24 September 2026, failed.\n\n**Granite Switch 4.1.** One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.\n\n## Before you call either\n\n### GLiClass\n\n1. Pass `--host 127.0.0.1` to `python -m gliclass.serve`, or put the port behind your own gateway. The server checks no credential\n2. On a machine without a GPU add `--device cpu --dtype float32 --num-gpus-per-replica 0`. The default configuration expects CUDA\n3. Send one text a request to `POST /gliclass`. An array in `texts` is cut to its first item without an error\n4. Set `multi_label` to false for one label from a set. The default scores each label independently, so scores do not sum to 1\n5. Keep text plus labels under the pipeline's 1,024-token `max_length`, or use `ZeroShotClassificationWithChunkingPipeline`. Longer input is truncated silently\n\n### Granite Switch 4.1\n\n1. Pass `chat_template_kwargs: {\"adapter_name\": \"decision\"}` or `\"guardian-core\"`. Without it the request is ordinary chat on the base model\n2. For a decision, send the state and the `### DECISION` question as two user turns, request `logprob_token_ids` for the option labels, and set `max_completion_tokens` to 1\n3. Use single-token option labels. Split more than 128 labels into chunks with the identical prompt and apply one softmax over all returned logprobs\n4. Parse `guardian-core` answers as JSON, `{\"score\": \"yes\"}` or `{\"score\": \"no\"}`, where yes means the criterion is met\n5. Add authentication before exposing the vLLM server. Neither vLLM nor the checkpoint requires a key by default\n\n## Questions\n\n### Which is better for AI agents, GLiClass or Granite Switch 4.1?\n\nGranite Switch 4.1 scores 59.4 (C) on agent readiness against GLiClass's 49.9 (D), and leads in 6 of 7 scored categories.\n\n### Do GLiClass and Granite Switch 4.1 need an API key?\n\nNeither needs a key.\n\n### Can an agent call GLiClass and Granite Switch 4.1 without installing anything?\n\nNo hosted endpoint is listed for GLiClass. No hosted endpoint is listed for Granite Switch 4.1.\n\n### Are GLiClass and Granite Switch 4.1 open source?\n\nYes. GLiClass is open source (Apache-2.0 (library and the model weights we checked)). Granite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"gliclass\", \"b\": \"granite-switch\"}`. From a terminal: `anchor compare gliclass granite-switch`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gliclass.json and https://www.anchorterminal.com/api/v1/tools/granite-switch.json\n\n## Other comparisons with GLiClass or Granite Switch 4.1\n\n- [Celeris-1 Decision vs GLiClass](https://www.anchorterminal.com/compare/celeris-1-decision-vs-gliclass.md)\n- [Celeris-1 Decision vs Granite Switch 4.1](https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch.md)\n- [Clef vs GLiClass](https://www.anchorterminal.com/compare/cloudflare-clef-vs-gliclass.md)\n- [Clef vs Granite Switch 4.1](https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch.md)\n- [Laya vs GLiClass](https://www.anchorterminal.com/compare/convai-laya-vs-gliclass.md)\n- [Laya vs Granite Switch 4.1](https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch.md)\n- [Decider vs GLiClass](https://www.anchorterminal.com/compare/decider-vs-gliclass.md)\n- [Decider vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decider-vs-granite-switch.md)\n- [Decision 3.0 vs GLiClass](https://www.anchorterminal.com/compare/decision-3-vs-gliclass.md)\n- [Decision 3.0 vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decision-3-vs-granite-switch.md)\n- [GLiClass vs Kev](https://www.anchorterminal.com/compare/gliclass-vs-jaredpalmer-kev.md)\n- [GLiClass vs Liquid d1](https://www.anchorterminal.com/compare/gliclass-vs-liquid-d1.md)\n- [GLiClass vs Microsoft-Decision-1](https://www.anchorterminal.com/compare/gliclass-vs-microsoft-decision-1.md)\n- [GLiClass vs Drex 1.5](https://www.anchorterminal.com/compare/gliclass-vs-nace-drex.md)\n- [GLiClass vs OpenAI Decisions API](https://www.anchorterminal.com/compare/gliclass-vs-openai-decisions-api.md)\n- [GLiClass vs pplx-decider](https://www.anchorterminal.com/compare/gliclass-vs-pplx-decider.md)\n- [GLiClass vs pplx-decider-flash](https://www.anchorterminal.com/compare/gliclass-vs-pplx-decider-flash.md)\n- [GLiClass vs ScaleDown](https://www.anchorterminal.com/compare/gliclass-vs-scaledown.md)\n- [GLiClass vs SPEV](https://www.anchorterminal.com/compare/gliclass-vs-sprag-spev.md)\n- [GLiClass vs kettei](https://www.anchorterminal.com/compare/gliclass-vs-sqwish-kettei.md)\n- [GLiClass vs Strands Decider 2B](https://www.anchorterminal.com/compare/gliclass-vs-strands-decider.md)\n- [GLiClass vs Jev](https://www.anchorterminal.com/compare/gliclass-vs-typesafe-jev.md)\n- [GLiClass vs Vela 2.0](https://www.anchorterminal.com/compare/gliclass-vs-vela.md)\n- [Granite Switch 4.1 vs Kev](https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev.md)\n- [Granite Switch 4.1 vs Liquid d1](https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1.md)\n- [Granite Switch 4.1 vs Microsoft-Decision-1](https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1.md)\n- [Granite Switch 4.1 vs Drex 1.5](https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex.md)\n- [Granite Switch 4.1 vs OpenAI Decisions API](https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api.md)\n- [Granite Switch 4.1 vs pplx-decider](https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider.md)\n- [Granite Switch 4.1 vs pplx-decider-flash](https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash.md)\n- [Granite Switch 4.1 vs ScaleDown](https://www.anchorterminal.com/compare/granite-switch-vs-scaledown.md)\n- [Granite Switch 4.1 vs SPEV](https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.md)\n- [Granite Switch 4.1 vs kettei](https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei.md)\n- [Granite Switch 4.1 vs Strands Decider 2B](https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider.md)\n- [Granite Switch 4.1 vs Jev](https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev.md)\n- [Granite Switch 4.1 vs Vela 2.0](https://www.anchorterminal.com/compare/granite-switch-vs-vela.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-18",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "GLiClass vs Granite Switch 4.1",
        "url": ""
      }
    ],
    "description": "Granite Switch 4.1 scores 59.4 (C) to GLiClass's 49.9 (D) for decision models. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "GLiClass D 49.9",
      "Granite Switch 4.1 C 59.4",
      "scores"
    ],
    "h1": "GLiClass vs Granite Switch 4.1",
    "image": "https://www.anchorterminal.com/assets/og/compare-gliclass-vs-granite-switch.png",
    "path": "/compare/gliclass-vs-granite-switch",
    "published": "2026-10-01",
    "section": "tools",
    "title": "GLiClass vs Granite Switch 4.1 for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-17",
    "url": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch"
  },
  "tokens": {
    "markdown": 2850,
    "slim": 530
  },
  "version": 1
}
