# BaristaBench: The Reasoning Challenge — Data

来源：https://www.kaggle.com/competitions/barista-bench/data

本地 Meta Kaggle 快照；不是本次实时页面。

# Dataset Description

# **The Dataset (V3)**

We have generated 4,000 complex point-of-sale scenarios designed to test Agentic State Tracking, Arithmetic, and Long-Context Reasoning.

train.csv: 500 labeled examples (Order + Correct JSON) containing the new list-based schema. Use this for few-shot prompting or fine-tuning.

test.csv: 3,500 unlabelled orders. This is the target for the leaderboard.

menu.md: The official Rulebook. It contains base prices, size upcharges, and modifier rules. You must provide this to your model to solve the arithmetic.

# **Schema (Critical Update)**

Orders now contain multiple distinct items. Your model must output a valid JSON Object containing a list of items and the grand total.

**Sample JSON format**
`{
  "items": [
    {
      "name": "Latte",
      "size": "Grande",
      "quantity": 2,
      "modifiers": ["Oat Milk", "Vanilla Syrup"]
    },
    {
      "name": "Blueberry Muffin",
      "size": null,
      "quantity": 1,
      "modifiers": []
    }
  ],
  "total_price": 18.25
}`

**Level 1 (Multi-Item Aggregation):**
Input: "I'll take two Lattes and a Bagel."
Challenge: Correctly identifying distinct items and their quantities.

**Level 2 (The Arithmetic Test):**
Input: "Give me three Venti Mochas with Oat Milk."
Challenge: Calculating 3 * (Base + Size + Oat Cost) correctly.

**Level 3 (Nightmare Mode):**
Input: "Two Lattes... actually make that three. Add vanilla... wait, no vanilla. And a Croissant... actually scratch the Croissant."
Challenge: State Tracking. The model must handle corrections (changing 2 to 3), cancellations (removing the Croissant entirely), and logic negations (removing the Vanilla) before calculating the final price.