Unified Memory

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

summarize-extract-013

hard extractioninvite

The prompt

user

Extract information from the email thread (newest message first) below. Reply with only a JSON object with exactly these keys:
- "book_title" (string): book being discussed
- "book_author" (string): author of the book
- "date" (string "YYYY-MM-DD"): final meeting date
- "start_time" (string "HH:MM" (24-hour)): final start time
- "location" (string): final location
- "rsvp_deadline" (string "YYYY-MM-DD"): RSVP deadline

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.

Email thread (newest message first):
"""
From: Marisol Vega <marisol.vega@lanternmail.net>
Date: Wed, 28 Oct 2026 08:03
Subject: RE: RE: Book club - November

Small correction, sorry everyone! The library closes at 8 on Fridays, so we're starting at 6:00 instead of 7. Everything else stays the same.

M.

-----Original Message-----
From: Marisol Vega
Date: Tue, 27 Oct 2026 21:47
Subject: RE: Book club - November

Change of plans: my kitchen is torn up for the remodel, so we're moving to Friday the 6th, same time, in the Community Room at Elm Street Library. Still discussing The Salt Orchard. Bring a snack to share if you can!

-----Original Message-----
From: Marisol Vega
Date: Mon, 12 Oct 2026 10:15
Subject: Book club - November

Hi friends! November book club is Thursday, November 5 at 7:00 PM at my place (22 Juniper Court). We're reading The Salt Orchard by Imogen Hale. RSVP to me by Nov 1.
"""
What we expected
{
  "kind": "extract",
  "answer": {
    "book_title": "The Salt Orchard",
    "book_author": "Imogen Hale",
    "date": "2026-11-06",
    "start_time": "18:00",
    "location": "Community Room at Elm Street Library",
    "rsvp_deadline": "2026-11-01"
  },
  "fields": {
    "book_title": {
      "type": "string",
      "accept": [
        "Salt Orchard"
      ]
    },
    "book_author": {
      "type": "string"
    },
    "date": {
      "type": "date"
    },
    "start_time": {
      "type": "time"
    },
    "location": {
      "type": "string",
      "accept": [
        "Elm Street Library Community Room",
        "Elm Street Library",
        "Community Room, Elm Street Library"
      ]
    },
    "rsvp_deadline": {
      "type": "date"
    }
  }
}

What each model answered

MiMo-V2.6 Distill 9B

✓ pass · score 100 · 3.26 s

{"book_title": "The Salt Orchard", "book_author": "Imogen Hale", "date": "2026-11-06", "start_time": "18:00", "location": "Community Room at Elm Street Library", "rsvp_deadline": "2026-11-01"}
Scoring detail
{
  "fields": {
    "book_title": {
      "score": 1,
      "expected": "The Salt Orchard",
      "got": "The Salt Orchard"
    },
    "book_author": {
      "score": 1,
      "expected": "Imogen Hale",
      "got": "Imogen Hale"
    },
    "date": {
      "score": 1,
      "expected": "2026-11-06",
      "got": "2026-11-06"
    },
    "start_time": {
      "score": 1,
      "expected": "18:00",
      "got": "18:00"
    },
    "location": {
      "score": 1,
      "expected": "Community Room at Elm Street Library",
      "got": "Community Room at Elm Street Library"
    },
    "rsvp_deadline": {
      "score": 1,
      "expected": "2026-11-01",
      "got": "2026-11-01"
    }
  },
  "fields_correct": 6,
  "fields_total": 6
}

Ornith-1.5 9B

✗ fail · score 0 · 1.08 s

(empty reply)

Scoring detail
{
  "error": "empty output"
}

Granite 4.2 8B

✗ fail · score 33 · 25.4 s

{
  "book_title": "The Salt Orchard",
  "book_author": "Imogen Hale",
  "date": null,
  "start_time": null,
  "location": null,
  "rsvp_deadline": null
}

But wait, let's re-evaluate: The instruction says "final meeting date" and "final start time" and "final location". The email thread shows changes: originally Thursday Nov 5 at 7:00 PM at my place. Then change to Friday the 6th, same time (presumably 7:00 PM?), but then later correction says library closes at 8 on Fridays, so we're starting at 6:00 instead of 7. So final meeting date? The newest message is from Marisol Vega on Wed, 28 Oct 2026, saying "Small correction, sorry everyone! The library closes at 8 on Fridays, so we're starting at 6:00 instead of 7. Everything else stays the same." So the final plan is: meeting on Friday the 6th? Let's parse all messages in order newest first:

Newest: Wed, 28 Oct 2026 08:03: "Small correction, sorry everyone! The library closes at 8 on Fridays, so we're starting at 6:00 instead of 7. Everything else stays the same."

Previous: Tue, 27 Oct 2026 21:47: "Change of plans: my kitchen is torn up for the remodel, so we're moving to Friday the 6th, same time, in the Community Room at Elm Street Library. Still discussing The Salt Orchard. Bring a snack to share if you can!"

Previous: Mon, 12 Oct 2026 10:15: "Hi friends! November book club is Thursday, November 5 at 7:00 PM at my place (22 Juniper Court). We're reading The Salt Orchard by Imogen Hale. RSVP to me by Nov 1."

Thus the final meeting date/time/location after all changes: According to Tue's message, they moved to Friday the 6th, same time (presumably 7:00 PM), in the Community Room at Elm Street Library. Then Wed's message says library closes at 8 on Fridays, so we're starting at 6:00 instead of 7. So final start time is 6:00 (presumably 6:00 PM? But they say "starting at 6:00 instead of 7". Since original time was 7:00 PM, they adjust to 6:00 PM? But need to confirm if it's 6:00 PM or 6:00 (i.e., 6:00 PM). The phrase "starting at 6:00 instead of 7" likely means 6:00 PM (since original was 7:00 PM). So final start time is 6:00 PM. But need to output in 24-hour format: 18:00? Wait, 6:00 PM is 18:00. However, they said "starting at 6:00 instead of 7". Could be 6:00 PM (i.e., 18:00). But sometimes people say "starting at 6:00" meaning 6:00 PM if context is evening. But to be precise, we should use the exact time mentioned: "starting at 6:00". Since original was "7:00 PM", they say "starting at 6:00 instead of 7". Likely they mean 6:00 PM (i.e., 18:00). But we need to output HH:MM in 24-hour format. So 18:00.

But we need to check if the date is Friday the 6th. Which month? The original was November 5 (Thursday). Then they moved to Friday the 6th (presumably November 6). So final meeting date is November 6, 2026? Let's check dates: The original message is Mon, 12 Oct 2026. Then Tue, 27 Oct 2026. Then Wed, 28 Oct 2026. So the meeting is in November 2026. The date "Friday the 6th" refers to November 6, 2026 (since Thursday Nov 5, Friday Nov 6). So final meeting date is November 6, 2026.

But we need to output date as "YYYY-MM-DD". So "2026-11-06". However, we must ensure that the date is indeed the final meeting date after all changes. Yes.

Location: "Community Room at Elm Street Library". So location string: "Community Room at Elm Street Library". Should we include "Elm Street Library"? Yes.
Scoring detail
{
  "fields": {
    "book_title": {
      "score": 1,
      "expected": "The Salt Orchard",
      "got": "The Salt Orchard"
    },
    "book_author": {
      "score": 1,
      "expected": "Imogen Hale",
      "got": "Imogen Hale"
    },
    "date": {
      "score": 0,
      "expected": "2026-11-06",
      "got": null
    },
    "start_time": {
      "score": 0,
      "expected": "18:00",
      "got": null
    },
    "location": {
      "score": 0,
      "expected": "Community Room at Elm Street Library",
      "got": null
    },
    "rsvp_deadline": {
      "score": 0,
      "expected": "2026-11-01",
      "got": null
    }
  },
  "fields_correct": 2,
  "fields_total": 6
}

Spark-X2.5 4B

✗ fail · score 67 · 2.14 s

{
  "book_title": "The Salt Orchard",
  "book_author": "Imogen Hale",
  "date": "2026-10-06",
  "start_time": "18:00",
  "location": "Community Room at Elm Street Library",
  "rsvp_deadline": "2026-10-01"
}
Scoring detail
{
  "fields": {
    "book_title": {
      "score": 1,
      "expected": "The Salt Orchard",
      "got": "The Salt Orchard"
    },
    "book_author": {
      "score": 1,
      "expected": "Imogen Hale",
      "got": "Imogen Hale"
    },
    "date": {
      "score": 0,
      "expected": "2026-11-06",
      "got": "2026-10-06"
    },
    "start_time": {
      "score": 1,
      "expected": "18:00",
      "got": "18:00"
    },
    "location": {
      "score": 1,
      "expected": "Community Room at Elm Street Library",
      "got": "Community Room at Elm Street Library"
    },
    "rsvp_deadline": {
      "score": 0,
      "expected": "2026-11-01",
      "got": "2026-10-01"
    }
  },
  "fields_correct": 4,
  "fields_total": 6
}

Mellum2.1 12B-A2.5B

✓ pass · score 100 · 1.39 s

{
  "book_title": "The Salt Orchard",
  "book_author": "Imogen Hale",
  "date": "2026-11-06",
  "start_time": "18:00",
  "location": "Community Room at Elm Street Library",
  "rsvp_deadline": "2026-11-01"
}
Scoring detail
{
  "fields": {
    "book_title": {
      "score": 1,
      "expected": "The Salt Orchard",
      "got": "The Salt Orchard"
    },
    "book_author": {
      "score": 1,
      "expected": "Imogen Hale",
      "got": "Imogen Hale"
    },
    "date": {
      "score": 1,
      "expected": "2026-11-06",
      "got": "2026-11-06"
    },
    "start_time": {
      "score": 1,
      "expected": "18:00",
      "got": "18:00"
    },
    "location": {
      "score": 1,
      "expected": "Community Room at Elm Street Library",
      "got": "Community Room at Elm Street Library"
    },
    "rsvp_deadline": {
      "score": 1,
      "expected": "2026-11-01",
      "got": "2026-11-01"
    }
  },
  "fields_correct": 6,
  "fields_total": 6
}

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

✗ fail · score 67 · 0.91 s

{"book_title": "The Salt Orchard", "book_author": "Imogen Hale", "date": "2026-11-05", "start_time": "19:00", "location": "Community Room at Elm Street Library", "rsvp_deadline": "2026-11-01"}
Scoring detail
{
  "fields": {
    "book_title": {
      "score": 1,
      "expected": "The Salt Orchard",
      "got": "The Salt Orchard"
    },
    "book_author": {
      "score": 1,
      "expected": "Imogen Hale",
      "got": "Imogen Hale"
    },
    "date": {
      "score": 0,
      "expected": "2026-11-06",
      "got": "2026-11-05"
    },
    "start_time": {
      "score": 0,
      "expected": "18:00",
      "got": "19:00"
    },
    "location": {
      "score": 1,
      "expected": "Community Room at Elm Street Library",
      "got": "Community Room at Elm Street Library"
    },
    "rsvp_deadline": {
      "score": 1,
      "expected": "2026-11-01",
      "got": "2026-11-01"
    }
  },
  "fields_correct": 4,
  "fields_total": 6
}

MiniCPM5 2B

✗ fail · score 83 · 1.13 s

{"book_title": "The Salt Orchard", "book_author": "Imogen Hale", "date": "2026-10-06", "start_time": "18:00", "location": "Community Room at Elm Street Library", "rsvp_deadline": "2026-11-01"}
Scoring detail
{
  "fields": {
    "book_title": {
      "score": 1,
      "expected": "The Salt Orchard",
      "got": "The Salt Orchard"
    },
    "book_author": {
      "score": 1,
      "expected": "Imogen Hale",
      "got": "Imogen Hale"
    },
    "date": {
      "score": 0,
      "expected": "2026-11-06",
      "got": "2026-10-06"
    },
    "start_time": {
      "score": 1,
      "expected": "18:00",
      "got": "18:00"
    },
    "location": {
      "score": 1,
      "expected": "Community Room at Elm Street Library",
      "got": "Community Room at Elm Street Library"
    },
    "rsvp_deadline": {
      "score": 1,
      "expected": "2026-11-01",
      "got": "2026-11-01"
    }
  },
  "fields_correct": 5,
  "fields_total": 6
}

K2-Horizon 0.9B

✗ fail · score 50 · 0.53 s

{
  "book_title": "The Salt Orchard",
  "book_author": "Imogen Hale",
  "date": "2026-10-28",
  "start_time": "06:00",
  "location": "Community Room at Elm Street Library",
  "rsvp_deadline": "2026-10-28"
}
Scoring detail
{
  "fields": {
    "book_title": {
      "score": 1,
      "expected": "The Salt Orchard",
      "got": "The Salt Orchard"
    },
    "book_author": {
      "score": 1,
      "expected": "Imogen Hale",
      "got": "Imogen Hale"
    },
    "date": {
      "score": 0,
      "expected": "2026-11-06",
      "got": "2026-10-28"
    },
    "start_time": {
      "score": 0,
      "expected": "18:00",
      "got": "06:00"
    },
    "location": {
      "score": 1,
      "expected": "Community Room at Elm Street Library",
      "got": "Community Room at Elm Street Library"
    },
    "rsvp_deadline": {
      "score": 0,
      "expected": "2026-11-01",
      "got": "2026-10-28"
    }
  },
  "fields_correct": 3,
  "fields_total": 6
}

← summarize-extract-012All Summarize + extract itemssummarize-extract-014 →