{
  "data": {
    "a": {
      "slug": "embeddinggemma-2",
      "name": "EmbeddingGemma 2",
      "vendor": "Google DeepMind",
      "vendorUrl": "https://gemma.ai",
      "kind": "weights",
      "category": "embeddings",
      "summary": "EmbeddingGemma 2 is Google DeepMind's open-weight multimodal embedding model of 740M parameters, mapping text, code, images, video and audio into one 768-dimension vector space from up to 8,192 tokens, under Apache 2.0.",
      "url": "https://www.anchorterminal.com/tools/embeddinggemma-2",
      "markdownUrl": "https://www.anchorterminal.com/tools/embeddinggemma-2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/embeddinggemma-2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/embeddinggemma-2.json",
      "repo": "https://huggingface.co/google/embeddinggemma-2",
      "license": "Apache 2.0",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "google/embeddinggemma-2"
        }
      ],
      "auth": "none",
      "authNotes": "Not gated on Hugging Face. The files download with no account and no terms to accept (gated false in the Hub's API, checked 2026-10-30).",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under Apache 2.0, with the card adding that deployments must adhere to the Gemma Prohibited Use Policy. No inference provider serves it on Hugging Face. Running it takes little hardware, 1.53 GB of BF16 files, or about 0.5 GB in the 4-bit ONNX and LiteRT builds others publish (checked 2026-10-30).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://ai.google.dev/gemma/docs/embeddinggemma",
      "llmsTxt": "https://gemma.ai/llms.txt",
      "capabilities": [
        "embed.text",
        "embed.multimodal",
        "embed.multilingual",
        "embed.code",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "embeddings",
        "multimodal",
        "vision",
        "audio",
        "video",
        "multilingual",
        "matryoshka",
        "apache-2.0",
        "safetensors",
        "sentence-transformers",
        "self-hosted"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.4,
        "grade": "B",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1239,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "capability": 59,
          "interface": 70,
          "reach": 75,
          "risk": 60,
          "upkeep": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "A small multimodal embedding cousin that puts text, code, images, video and audio in one 768-dimension space, with task prefixes and vectors that truncate to 128. Five common runtimes run it and the BF16 files are 1.53 GB, with a browser build for Transformers.js. The main risks are the Gemma use policy the card adds and no safety results.",
        "bestFor": "Agents that need one small local embedding model for text, code, images, video and audio search",
        "strengths": [
          "Apache 2.0, not gated, with safetensors only in Google's verified organisation and a checksum on every file",
          "Text, images, video and audio in one 8,192-token input and one 768-dimension vector, truncatable to 512, 256 or 128",
          "Runs in Transformers 5.19.0 with Sentence Transformers 6.1.0, vLLM 0.32.0, SGLang 0.5.22, llama.cpp and Ollama 0.40.13",
          "Vision and audio encoders load only when needed, so text alone is 270M parameters",
          "A card that documents every modality's token cost, the task prefixes and a January 2025 cut-off"
        ],
        "weaknesses": [
          "The card requires deployments to follow the Gemma Prohibited Use Policy, which Google can update",
          "Google publishes no quantised build of its own; the 4-bit and GGUF builds are other organisations'",
          "An 8,192-token input shared by every modality, about 29 images or 327 seconds of audio",
          "No safety results, and no inference provider hosts it",
          "MTEB's rows for it sit below the card's figures on every tab read, and below EmbeddingGemma 300M on the two text tabs"
        ],
        "agentNotes": [
          "Install sentence-transformers 6.1.0 or later and transformers 5.19.0 or later; older Sentence Transformers ignore the order of multimodal dict inputs",
          "Use prompt_name SearchQuery for queries and Document for untitled documents; write `title: {title} | text: {content}` yourself for titled ones, and pass images, video and audio with no prefix",
          "For text only, load with config_kwargs {\"vision_config\": None, \"audio_config\": None} to skip 470M parameters of encoders",
          "Run in bfloat16 or float32, never float16, which returns NaN or degraded vectors without an error",
          "Pass truncate_dim and normalize_embeddings=True for smaller vectors, and keep queries and documents at the same size",
          "Supply audio as mono 16 kHz; video is sampled at 1 frame a second by default"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.4
          }
        ],
        "editorialScores": {
          "capability": 59,
          "interface": 70,
          "reach": 75,
          "risk": 60,
          "upkeep": 80
        },
        "provenanceScore": 70,
        "checked": {
          "categories": {
            "capability": "2026-10-30",
            "interface": "2026-10-30",
            "reach": "2026-10-30",
            "risk": "2026-10-30",
            "upkeep": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install -U \"sentence-transformers\u003e=6.1.0\" \"transformers\u003e=5.19.0\"\npython -c \"from sentence_transformers import SentenceTransformer; m=SentenceTransformer('google/embeddinggemma-2', config_kwargs={'vision_config': None, 'audio_config': None}); print(m.encode('Which planet is red?', prompt_name='SearchQuery').shape)\""
      },
      "letme": {
        "capability": "https://letme.dev/embed.text",
        "tool": "https://letme.dev/embeddinggemma-2"
      },
      "sameCompany": [
        "embeddinggemma-300m",
        "diffusiongemma-26b-a4b-it",
        "gemma-4-12b-it",
        "gemma-4-26b-a4b-it",
        "gemma-4-31b-it",
        "gemma-4-e2b-it",
        "gemma-4-e4b-it"
      ],
      "weights": {
        "trainedBy": "Google DeepMind",
        "builtOn": "Gemma 4 architecture (the card says it builds on Gemma 4's advancements; no base checkpoint named)",
        "params": "740M",
        "context": 8192,
        "dimensions": 768,
        "goodFor": "Small multimodal embeddings for search, retrieval, classification and clustering across text, code, images, video and audio in one vector space, on laptops, phones or in a browser.",
        "runtimes": [
          "Transformers",
          "vLLM",
          "SGLang",
          "llama.cpp",
          "Ollama"
        ],
        "builds": [
          {
            "name": "embeddinggemma-2",
            "url": "https://huggingface.co/google/embeddinggemma-2",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 1.53,
            "memoryGB": 8,
            "format": "safetensors",
            "runsOn": [
              "Transformers",
              "vLLM",
              "SGLang"
            ],
            "note": "All three encoders. Text only loads 270M of the 740M parameters"
          },
          {
            "name": "ggml-org embeddinggemma-2-Q8_0",
            "url": "https://huggingface.co/ggml-org/embeddinggemma-2-GGUF",
            "who": "llama.cpp",
            "precision": "q8_0",
            "sizeGB": 0.86,
            "memoryGB": 8,
            "format": "gguf",
            "runsOn": [
              "llama.cpp"
            ],
            "note": "llama.cpp's organisation converted it automatically from Google's 6 October commit. The text model is 0.31 GB and the multimodal projector 0.55 GB; BF16 files are there too"
          },
          {
            "name": "onnx-community embeddinggemma-2-ONNX q4",
            "url": "https://huggingface.co/onnx-community/embeddinggemma-2-ONNX",
            "who": "onnx-community",
            "precision": "q4",
            "sizeGB": 0.5,
            "memoryGB": 8,
            "format": "onnx",
            "runsOn": [
              "Transformers.js"
            ],
            "note": "Hugging Face's ONNX community build for Transformers.js, WebGPU, WASM or Node. q4 text model 0.17 GB, vision encoder 0.11 GB, audio encoder 0.19 GB, tokeniser 0.03 GB; fp32, fp16, q4f16 and 8-bit files too"
          },
          {
            "name": "litert-community embeddinggemma-2-740m-litert-lm",
            "url": "https://huggingface.co/litert-community/embeddinggemma-2-740m-litert-lm",
            "who": "litert-community",
            "precision": "int4 (QAT, int8 vision, mixed audio)",
            "sizeGB": 0.48,
            "memoryGB": 8,
            "format": "litertlm",
            "runsOn": [
              "LiteRT-LM"
            ],
            "note": "The LiteRT Community organisation's on-device build, linked to Google AI Edge's apps and demos; text-only (165 MB) and text and vision (388 MB) builds sit in their own repositories. Not counted as Google's own, since no first-hand Google page read here links it"
          }
        ],
        "run": "python -c \"from sentence_transformers import SentenceTransformer; SentenceTransformer('google/embeddinggemma-2')\"",
        "runBuild": "embeddinggemma-2",
        "checked": "2026-10-30",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "Google (Gemma)",
        "family": "Gemma 4",
        "url": "https://www.anchorterminal.com/open-weights/#google",
        "others": [
          {
            "name": "gemma-4-26B-A4B",
            "url": "https://huggingface.co/google/gemma-4-26B-A4B",
            "params": "25.2B total, 3.8B active"
          },
          {
            "name": "gemma-4-26B-A4B-it",
            "url": "https://huggingface.co/google/gemma-4-26B-A4B-it",
            "params": "25.2B total, 3.8B active",
            "listing": "https://www.anchorterminal.com/tools/gemma-4-26b-a4b-it"
          },
          {
            "name": "gemma-4-31B",
            "url": "https://huggingface.co/google/gemma-4-31B",
            "params": "30.7B"
          },
          {
            "name": "gemma-4-31B-it",
            "url": "https://huggingface.co/google/gemma-4-31B-it",
            "params": "30.7B",
            "listing": "https://www.anchorterminal.com/tools/gemma-4-31b-it"
          },
          {
            "name": "gemma-4-E2B",
            "url": "https://huggingface.co/google/gemma-4-E2B",
            "params": "2.3B effective (5.1B with embeddings)"
          },
          {
            "name": "gemma-4-E2B-it",
            "url": "https://huggingface.co/google/gemma-4-E2B-it",
            "params": "2.3B effective (5.1B with embeddings)",
            "listing": "https://www.anchorterminal.com/tools/gemma-4-e2b-it"
          },
          {
            "name": "gemma-4-E4B",
            "url": "https://huggingface.co/google/gemma-4-E4B",
            "params": "4.5B effective (8B with embeddings)"
          },
          {
            "name": "gemma-4-E4B-it",
            "url": "https://huggingface.co/google/gemma-4-E4B-it",
            "params": "4.5B effective (8B with embeddings)",
            "listing": "https://www.anchorterminal.com/tools/gemma-4-e4b-it"
          },
          {
            "name": "gemma-4-26B-A4B-it-assistant",
            "url": "https://huggingface.co/google/gemma-4-26B-A4B-it-assistant",
            "params": "420M (file metadata on Hugging Face; drafter)"
          },
          {
            "name": "gemma-4-31B-it-assistant",
            "url": "https://huggingface.co/google/gemma-4-31B-it-assistant",
            "params": "470M (file metadata on Hugging Face; drafter)"
          },
          {
            "name": "gemma-4-E2B-it-assistant",
            "url": "https://huggingface.co/google/gemma-4-E2B-it-assistant",
            "params": "78M (file metadata on Hugging Face; drafter)"
          },
          {
            "name": "gemma-4-E4B-it-assistant",
            "url": "https://huggingface.co/google/gemma-4-E4B-it-assistant",
            "params": "79M (file metadata on Hugging Face; drafter)"
          },
          {
            "name": "gemma-4-12B",
            "url": "https://huggingface.co/google/gemma-4-12B",
            "params": "11.95B"
          },
          {
            "name": "gemma-4-12B-it",
            "url": "https://huggingface.co/google/gemma-4-12B-it",
            "params": "11.95B",
            "listing": "https://www.anchorterminal.com/tools/gemma-4-12b-it"
          },
          {
            "name": "gemma-4-12B-it-assistant",
            "url": "https://huggingface.co/google/gemma-4-12B-it-assistant",
            "params": "423M (file metadata on Hugging Face; drafter)"
          },
          {
            "name": "diffusiongemma-26B-A4B-it",
            "url": "https://huggingface.co/google/diffusiongemma-26B-A4B-it",
            "params": "25.2B total, 3.8B active",
            "listing": "https://www.anchorterminal.com/tools/diffusiongemma-26b-a4b-it"
          }
        ],
        "olderCount": 171
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Google LLC (RDAP registrant of gemma.ai; the card names Google DeepMind as author)",
        "domain": "gemma.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": null,
        "terms": "https://ai.google.dev/gemma/docs/gemma_4_license",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://gemma.ai/models/releases.md",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The registrant, registration date, releases page and security.txt findings are carried from the embeddinggemma-300m and gemma-4 facts checked on 21 October 2026; gemma.ai and ai.google.dev couldn't be fetched in this session.",
          "Nothing is hosted, so the licence stands in for terms of service and no privacy policy is scored.",
          "The repository was created privately on 14 September 2026 and published on 6 October 2026 (the super-squash commit, MTEB's release date and Transformers' contribution note agree). The card last changed on 28 October 2026.",
          "gemma.ai/.well-known/security.txt answered 404 on 21 October 2026. Google's company-wide security.txt points to its vulnerability reward programme."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/embeddinggemma-2.json"
    },
    "answer": "EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category.",
    "b": {
      "slug": "granite-embedding-small-english-r2",
      "name": "Granite Embedding Small English R2",
      "vendor": "IBM",
      "vendorUrl": "https://www.ibm.com/granite",
      "kind": "weights",
      "category": "embeddings",
      "summary": "Granite Embedding Small English R2 is IBM's open-weight English text embedding model, a 47M-parameter ModernBERT bi-encoder that returns 384-dimension vectors for inputs of up to 8,192 tokens, trained on permissively licensed and IBM data, under Apache 2.0.",
      "url": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2",
      "markdownUrl": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/granite-embedding-small-english-r2.json",
      "repo": "https://huggingface.co/ibm-granite/granite-embedding-small-english-r2",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "ibm-granite/granite-embedding-small-english-r2"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-21). The examples and paper are in the public GitHub repository ibm-granite/granite-embedding-models.",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under Apache 2.0. IBM sells no per-call access to this model; watsonx.ai's embedding list has only the multilingual Granite embedding models. Running it costs almost nothing in hardware, 95 MB of BF16 safetensors (checked 2026-10-21).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-21).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "docsUrl": "https://github.com/ibm-granite/granite-embedding-models",
      "capabilities": [
        "embed.text",
        "embed.code",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "embeddings",
        "english",
        "modernbert",
        "long-context",
        "apache-2.0",
        "safetensors",
        "self-hosted"
      ],
      "lastRelease": "2026-01-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.7,
        "grade": "E",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1239,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "capability": 10,
          "interface": 60,
          "reach": 70,
          "risk": 55,
          "upkeep": 37
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "A tiny English embedding cousin for retrieval over long documents and code, 47M parameters with 384-dimension vectors and an 8,192-token input, under Apache 2.0 with a permissive data story. It runs on any hardware through Sentence Transformers, vLLM or llama.cpp. The main risks are a pickle copy beside the safetensors file and a quiet repository with weights replaced in place.",
        "bestFor": "Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing",
        "strengths": [
          "Apache 2.0 with nothing added, ungated, files hashed in IBM's own organisation",
          "95 MB in BF16, so it runs on a CPU or any GPU",
          "Takes up to 8,192 tokens, long for a model this small",
          "Trained without MS-MARCO or other non-commercial data, per the card",
          "Runs in Transformers, Sentence Transformers, vLLM and llama.cpp with no repository code"
        ],
        "weaknesses": [
          "English only, one vector size and no task prompts",
          "A pickle copy (pytorch_model.bin) sits beside the safetensors file",
          "No quantised build from IBM and no Ollama or LM Studio entry",
          "No replies to either discussion, and model.safetensors was replaced on 6 January 2026 without a note",
          "No safety results and no training data cut-off"
        ],
        "agentNotes": [
          "Load it with `SentenceTransformer(\"ibm-granite/granite-embedding-small-english-r2\")`, or serve it with `vllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling` and call /v1/embeddings",
          "Pass `normalize_embeddings=True` when you need unit vectors; Sentence Transformers returns them unnormalised",
          "In raw Transformers, take the CLS token (`model_output[0][:, 0]`) and normalise it yourself",
          "Don't add query or passage prefixes; the model takes plain text",
          "Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens",
          "Treat retrieved text as untrusted before passing it to a model"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.7
          }
        ],
        "editorialScores": {
          "capability": 10,
          "interface": 60,
          "reach": 70,
          "risk": 55,
          "upkeep": 37
        },
        "provenanceScore": 82,
        "checked": {
          "categories": {
            "capability": "2026-10-21",
            "interface": "2026-10-21",
            "reach": "2026-10-21",
            "risk": "2026-10-21",
            "upkeep": "2026-10-21"
          },
          "last": "2026-10-21",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install -U sentence-transformers\npython -c \"from sentence_transformers import SentenceTransformer; m=SentenceTransformer('ibm-granite/granite-embedding-small-english-r2'); print(m.encode(['summit define'], normalize_embeddings=True).shape)\"\n# or, with vLLM:\nvllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling",
        "http": "curl http://localhost:8000/v1/embeddings \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"model\": \"ibm-granite/granite-embedding-small-english-r2\", \"input\": [\"summit define\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/embed.text",
        "tool": "https://letme.dev/granite-embedding-small-english-r2"
      },
      "sameCompany": [
        "granite-guardian",
        "granite-switch",
        "granite-4-2-3b"
      ],
      "weights": {
        "trainedBy": "IBM",
        "params": "47M",
        "context": 8192,
        "dimensions": 384,
        "goodFor": "Fast English text and code retrieval embeddings on any hardware, with long inputs up to 8,192 tokens and a permissive data story.",
        "runtimes": [
          "llama.cpp",
          "vLLM",
          "Transformers"
        ],
        "builds": [
          {
            "name": "granite-embedding-small-english-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-small-english-r2",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 0.1,
            "memoryGB": 8,
            "format": "safetensors",
            "note": "Size is model.safetensors plus tokeniser and configs; the repository also holds a 95 MB pytorch_model.bin copy, 0.19 GB in all"
          }
        ],
        "run": "vllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling",
        "runBuild": "granite-embedding-small-english-r2",
        "checked": "2026-10-21",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "IBM (Granite)",
        "family": "Granite Embedding R2",
        "url": "https://www.anchorterminal.com/open-weights/#ibm",
        "others": [
          {
            "name": "granite-embedding-97m-multilingual-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-97m-multilingual-r2",
            "params": "97M (Hub safetensors count 97M)"
          },
          {
            "name": "granite-embedding-311m-multilingual-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-311m-multilingual-r2",
            "params": "311M (Hub safetensors count 312M)"
          },
          {
            "name": "granite-embedding-reranker-english-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-reranker-english-r2",
            "params": "150M (Hub safetensors count; the name states none)"
          },
          {
            "name": "granite-embedding-english-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-english-r2",
            "params": "149M (Hub safetensors count; the name states none)"
          }
        ],
        "olderCount": 64
      },
      "area": "models",
      "provenance": {
        "legalEntity": "International Business Machines Corporation",
        "domain": "ibm.com",
        "domainRegistered": "1986-03-19",
        "endpointOnVendorDomain": null,
        "terms": "https://www.apache.org/licenses/LICENSE-2.0",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://huggingface.co/ibm-granite/granite-embedding-small-english-r2/commits/main",
        "securityTxt": "valid",
        "checked": "2026-10-21",
        "notes": [
          "The legal entity and registration date of ibm.com are carried from the granite-guardian listing's provenance, checked on 8 October 2026. www.ibm.com/granite links to huggingface.co/ibm-granite.",
          "Nothing is hosted, so the Apache 2.0 licence stands in for terms of service and no privacy policy is scored.",
          "The Hugging Face commit history has seven commits from 17 July 2025 to 21 January 2026. Most messages don't say what changed.",
          "www.ibm.com/.well-known/security.txt lists IBM PSIRT, HackerOne and an email contact and expires on 21 November 2026. Neither ibm-granite/granite-embedding-models nor the ibm-granite organisation's .github repository has a SECURITY file."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.json",
      "live": {
        "slug": "granite-embedding-small-english-r2",
        "securityTxt": {
          "url": "https://ibm.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-11-30T00:00:00+00:00",
          "checkedAt": "2026-10-30T15:38:23.13721203Z"
        },
        "domain": {
          "domain": "ibm.com",
          "registered": "1986-03-19",
          "source": "https://rdap.verisign.com/com/v1/domain/ibm.com",
          "checkedAt": "2026-10-25T14:03:33.422073312Z"
        },
        "pages": [
          {
            "url": "https://huggingface.co/ibm-granite/granite-embedding-small-english-r2/commits/main",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T05:41:55.898477175Z",
            "changedAt": "2026-10-30T05:41:55.898477175Z",
            "fingerprint": "ad12304bf530"
          },
          {
            "url": "https://www.apache.org/licenses/LICENSE-2.0",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-30T05:52:28.694445816Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1bf7252757e4"
          }
        ],
        "updatedAt": "2026-10-30T15:38:23.13721203Z"
      }
    },
    "facts": [
      {
        "a": "Open-weight model",
        "b": "Open-weight model",
        "name": "Kind"
      },
      {
        "a": "Google DeepMind",
        "b": "IBM",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache 2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-28",
        "b": "2026-01-21",
        "name": "Last release"
      },
      {
        "a": "2026-04-01",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, EmbeddingGemma 2 or Granite Embedding Small English R2?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Capability, 59 against 10",
          "Reach, 75 against 70",
          "Risk, 60 against 55",
          "Agent interface, 70 against 60",
          "Documentation and upkeep, 80 against 37"
        ],
        "also": null,
        "goodFor": "Agents that need one small local embedding model for text, code, images, video and audio search",
        "slug": "embeddinggemma-2",
        "watchFor": "The card requires deployments to follow the Gemma Prohibited Use Policy, which Google can update"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing",
        "slug": "granite-embedding-small-english-r2",
        "watchFor": "English only, one vector size and no task prompts"
      }
    ],
    "job": {
      "capability": "embed.text",
      "name": "Text embeddings"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-embeddinggemma-300m.json",
        "title": "EmbeddingGemma 2 vs EmbeddingGemma 300M",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-embeddinggemma-300m"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-jina-embeddings-v5-omni-small.json",
        "title": "EmbeddingGemma 2 vs jina-embeddings-v5-omni-small",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-jina-embeddings-v5-omni-small"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-0-6b.json",
        "title": "EmbeddingGemma 2 vs Qwen3-Embedding-0.6B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-0-6b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-4b.json",
        "title": "EmbeddingGemma 2 vs Qwen3-Embedding-4B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-4b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-8b.json",
        "title": "EmbeddingGemma 2 vs Qwen3-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-8b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-2b.json",
        "title": "EmbeddingGemma 2 vs Qwen3-VL-Embedding-2B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-8b.json",
        "title": "EmbeddingGemma 2 vs Qwen3-VL-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-8b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2.json",
        "title": "EmbeddingGemma 300M vs Granite Embedding Small English R2",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-jina-embeddings-v5-omni-small.json",
        "title": "Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-jina-embeddings-v5-omni-small"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-0-6b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-Embedding-0.6B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-0-6b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-4b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-Embedding-4B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-4b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-8b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-8b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-2b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-VL-Embedding-2B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-8b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-VL-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-8b"
      }
    ],
    "scores": [
      {
        "by": 49,
        "edge": "embeddinggemma-2",
        "embeddinggemma-2": 59,
        "granite-embedding-small-english-r2": 10,
        "key": "capability",
        "name": "Capability",
        "weight": 35
      },
      {
        "by": 5,
        "edge": "embeddinggemma-2",
        "embeddinggemma-2": 75,
        "granite-embedding-small-english-r2": 70,
        "key": "reach",
        "name": "Reach",
        "weight": 25
      },
      {
        "by": 5,
        "edge": "embeddinggemma-2",
        "embeddinggemma-2": 60,
        "granite-embedding-small-english-r2": 55,
        "key": "risk",
        "name": "Risk",
        "weight": 20
      },
      {
        "by": 10,
        "edge": "embeddinggemma-2",
        "embeddinggemma-2": 70,
        "granite-embedding-small-english-r2": 60,
        "key": "interface",
        "name": "Agent interface",
        "weight": 10
      },
      {
        "by": 43,
        "edge": "embeddinggemma-2",
        "embeddinggemma-2": 80,
        "granite-embedding-small-english-r2": 37,
        "key": "upkeep",
        "name": "Documentation and upkeep",
        "weight": 10
      }
    ],
    "summary": "EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category. Both do text embeddings.",
    "tutorials": [],
    "verdicts": {
      "embeddinggemma-2": "A small multimodal embedding cousin that puts text, code, images, video and audio in one 768-dimension space, with task prefixes and vectors that truncate to 128. Five common runtimes run it and the BF16 files are 1.53 GB, with a browser build for Transformers.js. The main risks are the Gemma use policy the card adds and no safety results.",
      "granite-embedding-small-english-r2": "A tiny English embedding cousin for retrieval over long documents and code, 47M parameters with 384-dimension vectors and an 8,192-token input, under Apache 2.0 with a permissive data story. It runs on any hardware through Sentence Transformers, vLLM or llama.cpp. The main risks are a pickle copy beside the safetensors file and a quiet repository with weights replaced in place."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2",
    "json": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.min.md"
  },
  "markdown": "EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category. Both do text embeddings.\n\n- EmbeddingGemma 2: grade B, 66.4/100, rank #16 of 117 open-weight models. Markdown https://www.anchorterminal.com/tools/embeddinggemma-2.md · JSON https://www.anchorterminal.com/api/v1/tools/embeddinggemma-2.json\n- Granite Embedding Small English R2: grade E, 41.7/100, rank #117 of 117 open-weight models. Markdown https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.md · JSON https://www.anchorterminal.com/api/v1/tools/granite-embedding-small-english-r2.json\n- Best embedding and reranking APIs for AI agents: https://www.anchorterminal.com/best/embeddings/index.md\n- All 81 embeddings comparisons: https://www.anchorterminal.com/compare/embeddings/index.md\n\n## Which one, for what\n\n### EmbeddingGemma 2 (B)\n\nGood for: Agents that need one small local embedding model for text, code, images, video and audio search\n\nAhead on:\n- Capability, 59 against 10\n- Reach, 75 against 70\n- Risk, 60 against 55\n- Agent interface, 70 against 60\n- Documentation and upkeep, 80 against 37\n\nWatch for: The card requires deployments to follow the Gemma Prohibited Use Policy, which Google can update\n\n### Granite Embedding Small English R2 (E)\n\nGood for: Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing\n\nWatch for: English only, one vector size and no task prompts\n\n\n## Score by category\n\n| Category | Weight | EmbeddingGemma 2 | Granite Embedding Small English R2 | Edge |\n| --- | --- | --- | --- | --- |\n| Capability | 35% (35 this run) | 59 | 10 | EmbeddingGemma 2 +49 |\n| Reach | 25% (25 this run) | 75 | 70 | EmbeddingGemma 2 +5 |\n| Risk | 20% (20 this run) | 60 | 55 | EmbeddingGemma 2 +5 |\n| Agent interface | 10% (10 this run) | 70 | 60 | EmbeddingGemma 2 +10 |\n| Documentation and upkeep | 10% (10 this run) | 80 | 37 | EmbeddingGemma 2 +43 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **66.4 · B** | **41.7 · E** | |\n\n## Facts side by side\n\n| Fact | EmbeddingGemma 2 | Granite Embedding Small English R2 |\n| --- | --- | --- |\n| Kind | Open-weight model | Open-weight model |\n| Vendor | Google DeepMind | IBM |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache 2.0 | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-28 | 2026-01-21 |\n| Terms last updated | 2026-04-01 | no date given |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Agent reviews | none | 3/5 (4) |\n\n## Verdicts\n\n**EmbeddingGemma 2.** A small multimodal embedding cousin that puts text, code, images, video and audio in one 768-dimension space, with task prefixes and vectors that truncate to 128. Five common runtimes run it and the BF16 files are 1.53 GB, with a browser build for Transformers.js. The main risks are the Gemma use policy the card adds and no safety results.\n\n**Granite Embedding Small English R2.** A tiny English embedding cousin for retrieval over long documents and code, 47M parameters with 384-dimension vectors and an 8,192-token input, under Apache 2.0 with a permissive data story. It runs on any hardware through Sentence Transformers, vLLM or llama.cpp. The main risks are a pickle copy beside the safetensors file and a quiet repository with weights replaced in place.\n\n## Before you call either\n\n### EmbeddingGemma 2\n\n1. Install sentence-transformers 6.1.0 or later and transformers 5.19.0 or later; older Sentence Transformers ignore the order of multimodal dict inputs\n2. Use prompt_name SearchQuery for queries and Document for untitled documents; write `title: {title} | text: {content}` yourself for titled ones, and pass images, video and audio with no prefix\n3. For text only, load with config_kwargs {\"vision_config\": None, \"audio_config\": None} to skip 470M parameters of encoders\n4. Run in bfloat16 or float32, never float16, which returns NaN or degraded vectors without an error\n5. Pass truncate_dim and normalize_embeddings=True for smaller vectors, and keep queries and documents at the same size\n6. Supply audio as mono 16 kHz; video is sampled at 1 frame a second by default\n\n### Granite Embedding Small English R2\n\n1. Load it with `SentenceTransformer(\"ibm-granite/granite-embedding-small-english-r2\")`, or serve it with `vllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling` and call /v1/embeddings\n2. Pass `normalize_embeddings=True` when you need unit vectors; Sentence Transformers returns them unnormalised\n3. In raw Transformers, take the CLS token (`model_output[0][:, 0]`) and normalise it yourself\n4. Don't add query or passage prefixes; the model takes plain text\n5. Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens\n6. Treat retrieved text as untrusted before passing it to a model\n\n## Questions\n\n### Which is better for AI agents, EmbeddingGemma 2 or Granite Embedding Small English R2?\n\nEmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.json, and with the fewest tokens: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"embeddinggemma-2\", \"b\": \"granite-embedding-small-english-r2\"}`. From a terminal: `anchor compare embeddinggemma-2 granite-embedding-small-english-r2`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/embeddinggemma-2.json and https://www.anchorterminal.com/api/v1/tools/granite-embedding-small-english-r2.json\n\n## Other comparisons with EmbeddingGemma 2 or Granite Embedding Small English R2\n\n- [EmbeddingGemma 2 vs EmbeddingGemma 300M](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-embeddinggemma-300m.md)\n- [EmbeddingGemma 2 vs jina-embeddings-v5-omni-small](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-jina-embeddings-v5-omni-small.md)\n- [EmbeddingGemma 2 vs Qwen3-Embedding-0.6B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-0-6b.md)\n- [EmbeddingGemma 2 vs Qwen3-Embedding-4B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-4b.md)\n- [EmbeddingGemma 2 vs Qwen3-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-8b.md)\n- [EmbeddingGemma 2 vs Qwen3-VL-Embedding-2B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-2b.md)\n- [EmbeddingGemma 2 vs Qwen3-VL-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-8b.md)\n- [EmbeddingGemma 300M vs Granite Embedding Small English R2](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2.md)\n- [Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-jina-embeddings-v5-omni-small.md)\n- [Granite Embedding Small English R2 vs Qwen3-Embedding-0.6B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-0-6b.md)\n- [Granite Embedding Small English R2 vs Qwen3-Embedding-4B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-4b.md)\n- [Granite Embedding Small English R2 vs Qwen3-Embedding-8B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-8b.md)\n- [Granite Embedding Small English R2 vs Qwen3-VL-Embedding-2B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-2b.md)\n- [Granite Embedding Small English R2 vs Qwen3-VL-Embedding-8B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-8b.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-31",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "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": "EmbeddingGemma 2 vs Granite Embedding Small English R2",
        "url": ""
      }
    ],
    "description": "EmbeddingGemma 2 scores 66.4 (B) to Granite Embedding Small English R2's 41.7 (E) for text embeddings. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "EmbeddingGemma 2 B 66.4",
      "Granite Embedding Small English R2 E 41.7",
      "scores"
    ],
    "h1": "EmbeddingGemma 2 vs Granite Embedding Small English R2",
    "image": "https://www.anchorterminal.com/assets/og/compare-embeddinggemma-2-vs-granite-embedding-small-english-r2.png",
    "path": "/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2",
    "published": "2026-10-01",
    "section": "tools",
    "title": "EmbeddingGemma 2 vs Granite Embedding Small English R2 (2026)",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 480
  },
  "version": 1
}
