Unified Memory

Benchmarks / Which Small AI Model Should You Run on a Mac? We Ran 312 Tests / Summarize + extract

summarize-extract-022

easy extractionemail

The prompt

user

Extract information from the appointment reminder below. Reply with only a JSON object with exactly these keys:
- "patient_first_name" (string): patient's first name
- "provider" (string): dentist's name
- "practice" (string): practice name
- "date" (string "YYYY-MM-DD"): appointment date
- "time" (string "HH:MM" (24-hour)): appointment time
- "arrive_early_minutes" (number): minutes early to arrive
- "cancellation_notice_hours" (number): hours of notice required to reschedule
- "late_cancel_fee" (number): late cancellation fee
- "phone" (string): office phone

Rules: include every key listed. Use null for any field that is not stated in the text (do not guess). Dates are YYYY-MM-DD. Times are HH:MM in 24-hour format. Amounts and counts are plain JSON numbers (no currency symbols, no commas). Phone numbers are in international format with + and the country code, for example +1 312 555 0100; leave out any national trunk prefix 0, so (0)20 or 020 becomes 20 after +44.

Appointment reminder:
"""
Hi Ana, this is a reminder of your appointment with Dr. Kwame Asante at Lakeside Family Dental on Wednesday, March 25, 2026 at 3:40 PM.

Please arrive 15 minutes early to update your paperwork.
Address: 2207 Shoreline Dr, Suite 110, Madison, WI 53704

Need to reschedule? Please give at least 48 hours' notice, or a $50 late-cancellation fee applies.
Reply C to confirm or call (608) 555-0131.
"""
What we expected
{
  "kind": "extract",
  "answer": {
    "patient_first_name": "Ana",
    "provider": "Dr. Kwame Asante",
    "practice": "Lakeside Family Dental",
    "date": "2026-03-25",
    "time": "15:40",
    "arrive_early_minutes": 15,
    "cancellation_notice_hours": 48,
    "late_cancel_fee": 50,
    "phone": "+16085550131"
  },
  "fields": {
    "patient_first_name": {
      "type": "string"
    },
    "provider": {
      "type": "string",
      "accept": [
        "Kwame Asante",
        "Dr. Asante",
        "Dr. Kwame Asante, DDS"
      ]
    },
    "practice": {
      "type": "string"
    },
    "date": {
      "type": "date"
    },
    "time": {
      "type": "time"
    },
    "arrive_early_minutes": {
      "type": "number"
    },
    "cancellation_notice_hours": {
      "type": "number"
    },
    "late_cancel_fee": {
      "type": "number"
    },
    "phone": {
      "type": "phone"
    }
  }
}

What each model answered

MiMo-V2.6 Distill 9B

✓ pass · score 100 · 3.50 s

{"patient_first_name": "Ana", "provider": "Dr. Kwame Asante", "practice": "Lakeside Family Dental", "date": "2026-03-25", "time": "15:40", "arrive_early_minutes": 15, "cancellation_notice_hours": 48, "late_cancel_fee": 50, "phone": "+1 608 555 0131"}
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 1,
      "expected": "Ana",
      "got": "Ana"
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 1,
      "expected": "+16085550131",
      "got": "+1 608 555 0131"
    }
  },
  "fields_correct": 9,
  "fields_total": 9
}

Ornith-1.5 9B

✓ pass · score 100 · 3.83 s

```json
{
  "patient_first_name": "Ana",
  "provider": "Dr. Kwame Asante",
  "practice": "Lakeside Family Dental",
  "date": "2026-03-25",
  "time": "15:40",
  "arrive_early_minutes": 15,
  "cancellation_notice_hours": 48,
  "late_cancel_fee": 50,
  "phone": "+1 608 555 0131"
}
```
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 1,
      "expected": "Ana",
      "got": "Ana"
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 1,
      "expected": "+16085550131",
      "got": "+1 608 555 0131"
    }
  },
  "fields_correct": 9,
  "fields_total": 9
}

Granite 4.2 8B

✓ pass · score 100 · 3.56 s

{
  "patient_first_name": "Ana",
  "provider": "Dr. Kwame Asante",
  "practice": "Lakeside Family Dental",
  "date": "2026-03-25",
  "time": "15:40",
  "arrive_early_minutes": 15,
  "cancellation_notice_hours": 48,
  "late_cancel_fee": 50,
  "phone": "+1 608 555 0131"
}
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 1,
      "expected": "Ana",
      "got": "Ana"
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 1,
      "expected": "+16085550131",
      "got": "+1 608 555 0131"
    }
  },
  "fields_correct": 9,
  "fields_total": 9
}

Spark-X2.5 4B

✓ pass · score 100 · 2.59 s

{
  "patient_first_name": "Ana",
  "provider": "Dr. Kwame Asante",
  "practice": "Lakeside Family Dental",
  "date": "2026-03-25",
  "time": "15:40",
  "arrive_early_minutes": 15,
  "cancellation_notice_hours": 48,
  "late_cancel_fee": 50,
  "phone": "+1 608 555 0131"
}
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 1,
      "expected": "Ana",
      "got": "Ana"
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 1,
      "expected": "+16085550131",
      "got": "+1 608 555 0131"
    }
  },
  "fields_correct": 9,
  "fields_total": 9
}

Mellum2.1 12B-A2.5B

✓ pass · score 100 · 1.73 s

{
  "patient_first_name": "Ana",
  "provider": "Dr. Kwame Asante",
  "practice": "Lakeside Family Dental",
  "date": "2026-03-25",
  "time": "15:40",
  "arrive_early_minutes": 15,
  "cancellation_notice_hours": 48,
  "late_cancel_fee": 50,
  "phone": "+1 608 555 0131"
}
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 1,
      "expected": "Ana",
      "got": "Ana"
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 1,
      "expected": "+16085550131",
      "got": "+1 608 555 0131"
    }
  },
  "fields_correct": 9,
  "fields_total": 9
}

Ling-3.0-tiny (7.9B-A1.3B)

✓ pass · score 100 · 1.15 s

{"patient_first_name": "Ana", "provider": "Dr. Kwame Asante", "practice": "Lakeside Family Dental", "date": "2026-03-25", "time": "15:40", "arrive_early_minutes": 15, "cancellation_notice_hours": 48, "late_cancel_fee": 50, "phone": "+1 608 555 0131"}
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 1,
      "expected": "Ana",
      "got": "Ana"
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 1,
      "expected": "+16085550131",
      "got": "+1 608 555 0131"
    }
  },
  "fields_correct": 9,
  "fields_total": 9
}

MiniCPM5 2B

✗ fail · score 89 · 1.35 s

{"patient_first_name": null, "provider": "Dr. Kwame Asante", "practice": "Lakeside Family Dental", "date": "2026-03-25", "time": "15:40", "arrive_early_minutes": 15, "cancellation_notice_hours": 48, "late_cancel_fee": 50, "phone": "+1 608 555 0131"}
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 0,
      "expected": "Ana",
      "got": null
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 1,
      "expected": "+16085550131",
      "got": "+1 608 555 0131"
    }
  },
  "fields_correct": 8,
  "fields_total": 9
}

K2-Horizon 0.9B

✗ fail · score 89 · 0.63 s

{
  "patient_first_name": "Ana",
  "provider": "Dr. Kwame Asante",
  "practice": "Lakeside Family Dental",
  "date": "2026-03-25",
  "time": "15:40",
  "arrive_early_minutes": 15,
  "cancellation_notice_hours": 48,
  "late_cancel_fee": 50,
  "phone": "+60805550131"
}
Scoring detail
{
  "fields": {
    "patient_first_name": {
      "score": 1,
      "expected": "Ana",
      "got": "Ana"
    },
    "provider": {
      "score": 1,
      "expected": "Dr. Kwame Asante",
      "got": "Dr. Kwame Asante"
    },
    "practice": {
      "score": 1,
      "expected": "Lakeside Family Dental",
      "got": "Lakeside Family Dental"
    },
    "date": {
      "score": 1,
      "expected": "2026-03-25",
      "got": "2026-03-25"
    },
    "time": {
      "score": 1,
      "expected": "15:40",
      "got": "15:40"
    },
    "arrive_early_minutes": {
      "score": 1,
      "expected": 15,
      "got": 15
    },
    "cancellation_notice_hours": {
      "score": 1,
      "expected": 48,
      "got": 48
    },
    "late_cancel_fee": {
      "score": 1,
      "expected": 50,
      "got": 50
    },
    "phone": {
      "score": 0,
      "expected": "+16085550131",
      "got": "+60805550131"
    }
  },
  "fields_correct": 8,
  "fields_total": 9
}

← summarize-extract-021All Summarize + extract itemssummarize-extract-023 →