{
  "measured_at": "2026-09-12T05:33:21.908Z",
  "model": "onnx-community/FastVLM-0.5B-ONNX",
  "browser": "152.0.7977.83",
  "hardware": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/152.0.0.0 Safari/537.36",
    "gpu": "",
    "architecture": "metal-3",
    "vendor": "apple"
  },
  "manifest_sha256": "2e3ee5e7d3e886686462e38828e033651a30e7045dbe466eef704115d3c6785b",
  "warmup": {
    "text": "SAMPLE RECEIPT Maple Cafe • September 12 Coffee $4.00 Sandwich $8.00 Cookie $3.00 TOTAL $15.00 Synthetic example · FastVLM.net",
    "model": "onnx-community/FastVLM-0.5B-ONNX",
    "prompt": "Read the text in this image. Preserve the numbers and line breaks.",
    "task": "ocr",
    "timing": {
      "load_ms": 2106,
      "inference_ms": 1255,
      "first_text_ms": 968,
      "generated_tokens": 44
    },
    "timing_definitions": {
      "load_ms": "Model preparation including download/cache and session initialization",
      "inference_ms": "Image processing through completed generation, excluding model preparation",
      "first_text_ms": "Image processing through first non-empty streamed text"
    }
  },
  "rows": [
    {
      "id": "receipt-1",
      "prompt": "What is the TOTAL amount? Return the amount only.",
      "expected": "15.00",
      "answer": "$15.00",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 720,
        "first_text_ms": 720,
        "generated_tokens": 7
      },
      "image_sha256": "c1b8cd003d16e3b258b7110a2e28819148e38e1f2f0ca0dcf3685d9e720e2591"
    },
    {
      "id": "receipt-2",
      "prompt": "What is the TOTAL amount? Return the amount only.",
      "expected": "27.50",
      "answer": "$27.50",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 718,
        "first_text_ms": 717,
        "generated_tokens": 7
      },
      "image_sha256": "095943ee87cca5aae46a7ab7651bf23ebf43497f2cce209f7b8d32ccd78f829b"
    },
    {
      "id": "receipt-3",
      "prompt": "What is the TOTAL amount? Return the amount only.",
      "expected": "7.25",
      "answer": "$7.25",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 691,
        "first_text_ms": 691,
        "generated_tokens": 6
      },
      "image_sha256": "6efd6b286b88a4105081aaad577e67221bf4fe02af353f254bc66ffdc8c99d48"
    },
    {
      "id": "receipt-4",
      "prompt": "What is the TOTAL amount? Return the amount only.",
      "expected": "100.90",
      "answer": "$100.90",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 723,
        "first_text_ms": 723,
        "generated_tokens": 8
      },
      "image_sha256": "2fa5c730a84e12fc7e8afd44ee313dd9eaebd05010ee3bd69ae53fc529ac15dd"
    },
    {
      "id": "chart-1",
      "prompt": "Which category has the highest number of orders? Answer with its name only.",
      "expected": "Beta",
      "answer": "Answer: Beta",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 694,
        "first_text_ms": 688,
        "generated_tokens": 4
      },
      "image_sha256": "3a3b43441977213964ba8b7e43758616d394d0cb08930dd29b750aeaf23e406f"
    },
    {
      "id": "chart-2",
      "prompt": "Which category has the highest number of orders? Answer with its name only.",
      "expected": "Alpha",
      "answer": "Answer: Alpha",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 701,
        "first_text_ms": 694,
        "generated_tokens": 4
      },
      "image_sha256": "1b9f0a127d767cf418ff240851078715cb69608a1f905d21e52960a1ea1ddbf6"
    },
    {
      "id": "chart-3",
      "prompt": "Which category has the highest number of orders? Answer with its name only.",
      "expected": "Gamma",
      "answer": "Answer: Gamma",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 685,
        "first_text_ms": 678,
        "generated_tokens": 4
      },
      "image_sha256": "3df3121a2db394d426d1dcf2f5641816c90fd898c50ad72639fcf61d620dbddb"
    },
    {
      "id": "chart-4",
      "prompt": "Which category has the highest number of orders? Answer with its name only.",
      "expected": "Beta",
      "answer": "Answer: Beta",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 717,
        "first_text_ms": 711,
        "generated_tokens": 4
      },
      "image_sha256": "56d6b92e84be214a767ca9e1fc91e559218949cd8539876afb53e21033e55dea"
    },
    {
      "id": "interface-1",
      "prompt": "What is the delivery status of order #1042? Return the status only.",
      "expected": "Pending",
      "answer": "To determine the delivery status of Order #1042, we need to carefully examine the provided image. The image shows an interface with various elements such as buttons for \"View\" and \"Order.\" \n\nStep 1: Identify the relevant information.\n- Locate the section labeled \"Delivery status.\"\n- Observe that there is a button next to this label.\n\nStep 2: Read the text on the button.\n- The button clearly states \"Pending.\"\n\nTherefore, based on the information in the image, the delivery status of Order #1042 is \"Pending.\" This indicates that the order has not yet been delivered or processed by the system.",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 1563,
        "first_text_ms": 683,
        "generated_tokens": 133
      },
      "image_sha256": "e434bc44f040b5126969f459d4c7b0ec01d2ddf3a7e36bbccec0af4e7d15997f"
    },
    {
      "id": "interface-2",
      "prompt": "What is the delivery status of order #1042? Return the status only.",
      "expected": "Approved",
      "answer": "To determine the delivery status of order #1042, we need to carefully examine the provided image. The image shows an interface with various elements such as buttons, text fields, and links.\n\nStep 1: Identify the relevant information.\n- In this case, we are looking for the \"Delivery status\" of order #1042.\n\nStep 2: Locate the button labeled \"Approved.\"\n- Upon examining the image, we see that there is a blue button labeled \"Approved.\"\n\nStep 3: Confirm the delivery status based on the label.\n- Since the button labeled \"Approved\" indicates that the delivery status has been approved, we can conclude that the delivery status of order #1042 is indeed approved.\n\nTherefore, the delivery status of order #1042 is Approved.",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 1802,
        "first_text_ms": 704,
        "generated_tokens": 164
      },
      "image_sha256": "9fc04f7c673a59a145107367cac2606199344c41228c93a1b29592d407f19996"
    },
    {
      "id": "interface-3",
      "prompt": "What is the delivery status of order #1042? Return the status only.",
      "expected": "Shipped",
      "answer": "To determine the delivery status of order #1042, we need to carefully examine the provided image. The image shows an interface with various elements such as buttons for \"View\" and \"Order\". \n\nStep 1: Identify the relevant information.\n- In this case, we focus on the button labeled \"Shipped\".\n\nStep 2: Understand the context.\n- The text above the \"Shipped\" button reads \"Order #1042\", indicating that this is the specific order being referred to.\n\nStep 3: Confirm the delivery status based on the given instruction.\n- According to the instructions in the simple answer, the delivery status should be specified by clicking or hovering over the \"Shipped\" button.\n\nTherefore, the delivery status of order #1042 can be determined by following these steps:\n\n1. Locate the \"Shipped\" button in the image.\n2. Read the accompanying text which states \"Order #10",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 1967,
        "first_text_ms": 692,
        "generated_tokens": 192
      },
      "image_sha256": "652d412032ef6cec3b51c138750876276b43ffac2c82ed02964d04b03e68afd7"
    },
    {
      "id": "interface-4",
      "prompt": "What is the delivery status of order #1042? Return the status only.",
      "expected": "Cancelled",
      "answer": "To determine the delivery status of Order #1042, we need to carefully examine the provided image. The image shows an interface with various elements such as buttons for \"View\" and \"Order,\" along with text labels.\n\nStep-by-Step Solution:\n\n1. **Identify the Relevant Information:**\n   - Locate the section labeled \"Delivery status.\"\n   - Within this section, there is a button that reads \"Cancelled.\"\n\n2. **Analyze the Button's Text:**\n   - The button has the label \"Cancelled\" which indicates the current status of the order.\n\n3. **Conclusion:**\n   - Based on the information provided in the image, the delivery status of Order #1042 is \"Canceled.\"\n\nTherefore, the detailed answer is:\n\nThe delivery status of Order #1042 is canceled. This conclusion can be drawn by examining the relevant section of the interface where the \"Order Status\" option is highlighted,",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 2059,
        "first_text_ms": 708,
        "generated_tokens": 192
      },
      "image_sha256": "a5c1ba73217eabc50d6537c9b9b40f3b21021e92f3bc6b82b513bed071913059"
    },
    {
      "id": "small-text-1",
      "prompt": "What is the product code? Return the code only.",
      "expected": "AX-4179",
      "answer": "The product code is AX-4179.",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 783,
        "first_text_ms": 696,
        "generated_tokens": 12
      },
      "image_sha256": "9423d7c4d344f96fc355a6995c981e111bc3ea592398667b956f2921376c33ca"
    },
    {
      "id": "small-text-2",
      "prompt": "What is the product code? Return the code only.",
      "expected": "BK-5826",
      "answer": "The product code is BK-5826.",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 744,
        "first_text_ms": 678,
        "generated_tokens": 12
      },
      "image_sha256": "6f370d18b291c567edcd2d215aba86dc5557f193c4c077804ace18f92ac2ba66"
    },
    {
      "id": "small-text-3",
      "prompt": "What is the product code? Return the code only.",
      "expected": "CM-9034",
      "answer": "The product code is CM-9034.",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 748,
        "first_text_ms": 684,
        "generated_tokens": 12
      },
      "image_sha256": "ba4470ce946109fa984f9fc81dc9d9c49b8b9ea0025094c1d3a6f060a2fb0a4b"
    },
    {
      "id": "small-text-4",
      "prompt": "What is the product code? Return the code only.",
      "expected": "DT-2681",
      "answer": "The product code is DT-2681.",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 742,
        "first_text_ms": 675,
        "generated_tokens": 12
      },
      "image_sha256": "e0b52081c90333f8c1a17508d93ea6e3b7a6e499bed02558537a804ecd813283"
    },
    {
      "id": "chinese-1",
      "prompt": "活动地点在哪里？只回答地点名称。",
      "expected": "城市图书馆",
      "answer": "根据提供的文本，该活动的地点是“中国北京”。“中国北京”的位置位于中国首都北京，具体来说是在东城区，与周边地区相对应。这可以从所提供的地理信息中推断出来，因为提到的是“一座城市和一个国家”。",
      "exact_match": false,
      "contains_expected": false,
      "timing": {
        "load_ms": 0,
        "inference_ms": 1056,
        "first_text_ms": 683,
        "generated_tokens": 56
      },
      "image_sha256": "5d2a1960a52741146fb54f247add8402220063446058f790108ca920adec0e26"
    },
    {
      "id": "chinese-2",
      "prompt": "活动地点在哪里？只回答地点名称。",
      "expected": "社区活动中心",
      "answer": "根据图片中提供的信息，该活动的地点是“中国云南”(China Yunnan). 这些文本表明了地理位置和文化背景，但没有提供具体位置或详细说明。",
      "exact_match": false,
      "contains_expected": false,
      "timing": {
        "load_ms": 0,
        "inference_ms": 980,
        "first_text_ms": 689,
        "generated_tokens": 42
      },
      "image_sha256": "8d07d0042bbf7fc90cc2d1ec49c861571c87ff1c6a9e7271bae16ea62d3dedf0"
    },
    {
      "id": "chinese-3",
      "prompt": "活动地点在哪里？只回答地点名称。",
      "expected": "人民公园",
      "answer": "根据图片中提供的信息，该活动的地点是“人民公园”。这可以通过文本中的第二行所示，“市民公园”被翻译为“人民公园”，表明它是一个公共区域或公园。",
      "exact_match": false,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 962,
        "first_text_ms": 684,
        "generated_tokens": 42
      },
      "image_sha256": "ace345064c58f7a35c27788798730c0c7a8ee68cbccee1390aff4aaee376413b"
    },
    {
      "id": "chinese-4",
      "prompt": "活动地点在哪里？只回答地点名称。",
      "expected": "科学博物馆",
      "answer": "根据提供的文本，该活动的地点是“中国云南三元街”。这表明该活动发生在三元街，这是中国云南的一条主要街道和文化街区之一。",
      "exact_match": false,
      "contains_expected": false,
      "timing": {
        "load_ms": 0,
        "inference_ms": 948,
        "first_text_ms": 687,
        "generated_tokens": 38
      },
      "image_sha256": "e58a477d4df1fee0d2f795fb110f337ee5dabb1c87612f9f46e39846cc4d1153"
    },
    {
      "id": "shapes-1",
      "prompt": "How many blue circles are in the image? Return one digit only.",
      "expected": "1",
      "answer": "1",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 708,
        "first_text_ms": 707,
        "generated_tokens": 2
      },
      "image_sha256": "217b182d5ed83511817ae046d3c5ef70f4a38820bae3d7ff6ec5c6ff8d18bc28"
    },
    {
      "id": "shapes-2",
      "prompt": "How many blue circles are in the image? Return one digit only.",
      "expected": "2",
      "answer": "2",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 678,
        "first_text_ms": 678,
        "generated_tokens": 2
      },
      "image_sha256": "5b379c5a760b96b4263322a86bab87473d4e6a3bd1b8be84ce29aad40159656d"
    },
    {
      "id": "shapes-3",
      "prompt": "How many blue circles are in the image? Return one digit only.",
      "expected": "3",
      "answer": "3",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 696,
        "first_text_ms": 696,
        "generated_tokens": 2
      },
      "image_sha256": "9298b3311a332a229bfc8f9e677ba265f2046ec4cb01b10c434af7d196b6f118"
    },
    {
      "id": "shapes-4",
      "prompt": "How many blue circles are in the image? Return one digit only.",
      "expected": "4",
      "answer": "4",
      "exact_match": true,
      "contains_expected": true,
      "timing": {
        "load_ms": 0,
        "inference_ms": 703,
        "first_text_ms": 702,
        "generated_tokens": 2
      },
      "image_sha256": "226da3be3527bb5956d5c6d863de785612c9394cd43d2d4907192b45ffbb18c5"
    }
  ],
  "exact": 8,
  "contains": 21,
  "total": 24,
  "method": "24 original synthetic fixtures, six families with four variants. One timed run per fixture after one separate receipt warmup. Same production WebGPU worker, q4 vision/decoder and fp16 embeddings, greedy generation, 192 maximum new tokens, repetition penalty 1.2. Exact match trims whitespace, a leading dollar sign and one final punctuation mark; contains_expected only checks answer inclusion, not correctness of surrounding claims. No human-quality or general OCR accuracy score. Images 800x600, longest side cap 1024; processor applies its own model preprocessing."
}