{
  "messages": [
    {
      "role": "system",
      "content": "You are a knowledge graph extraction agent for long-form novels. Extract entities and relations from the given text chunk. Return JSON only."
    },
    {
      "role": "user",
      "content": "Ontology constraints (prefer these core types and normalized relations):\nAllowed core entity types:\n- 人物: 角色姓名, 主角/关键人物, 配角\n- 地点: 山岳/洞天, 洞府/殿阁, 城镇/疆域, 秘境\n- 组织: 宗门, 门派, 势力, 机构\n- 物品: 兵器, 法器, 经卷典籍, 其他道具\n- 功法体系: 功法, 法门, 修炼体系\n- 术法神通: 法术, 剑诀, 神通, 招式\n- 境界体系: 练气, 筑基, 金丹, 元婴\n- 生物种族: 妖兽, 异种, 神魔, 灵体\n- 职位称号: 真人, 真君, 掌门, 老祖\n- 事件仪式: 拜师, 祭祀, 闭关, 试炼\n- 概念法则: 大道/天道, 世界规则, 禁忌概念\n- 其他\nNormalized relations:\n- 告知: aliases=说道, 问道, 笑道, 答道, 开口\n- 修炼: aliases=修炼, 修行, 参悟, 参修, 修习\n- 拥有: aliases=拥有, 持有, 携带, 手持, 背着\n- 前往: aliases=前往, 来到, 进入, 回到, 抵达\n- 对抗: aliases=出手, 拔剑, 斩向, 追杀, 打斗\n- 施展: aliases=施法, 施展, 催动, 发动, 召出\nKey rules:\n- 实体 type 必须落在核心类型集合中；subtype 仅作细分，不得替代 type。\n- 若实体更像角色身份标签而非完整人物名，优先使用职位称号。\n- 若实体强调修炼路径与长期体系，优先使用功法体系；强调施展动作时优先使用术法神通。\n- 无法安全判断时允许使用其他，但应在后续 Type Consolidation 中优先收缩。\n\nCHUNK_ID: C0021 | PARA_RANGE: 166-173\n\nFrom the text chunk below, extract entities and relations. Output STRICT JSON with keys: entities (list) and relations (list). Entity schema: {name,type,aliases,attributes,descriptions,evidence,mentions}. mentions is a list of {chunk_id,summary,attributes,evidence}. Relation schema: {subject,relation,object,evidence,mentions}. mentions is a list of {chunk_id,summary,evidence}. Use ontology core types when possible. Do not invent new top-level entity type labels outside the ontology if an existing type fits. Prefer normalized relation names from the ontology alias list. If an existing entity card clearly matches a mention in this chunk, reuse that card's canonical name. If the chunk uses a title, alias, or shortened reference that matches a card, keep it under the same entity instead of splitting it. Keep outputs compact: at most 8 entities and 8 relations for this pass. Each description/evidence/summary should be short (<=30 characters) and avoid full sentences. Limit each entity to <=2 descriptions and <=2 mentions; each relation to <=1 mention. For mentions in this chunk, set chunk_id to the provided CHUNK_ID. Only include information supported by the chunk. Return a single JSON object and nothing else (no markdown, no code fences). If unsure, return {\"entities\":[],\"relations\":[]}.\n\nTEXT CHUNK:\n一日，见那老树枝头，桃熟大半，他心里要吃个尝新。奈何本园土地、力士并齐天府仙吏紧随不便。忽设一计道：“汝等且出门外伺候，让我在这亭上少憩片时。”那众仙果退。只见那猴王脱了冠着服，爬上大树，拣那熟透的大桃，摘了许多，就在树枝上自在受用。吃了一饱，却跳下来，簪冠著服，唤众等仪从回府。迟三二日，又去设法偷桃，尽他享用。\n\n一朝，王母娘娘设宴，大开宝阁，瑶池中做“蟠桃盛会”，即着那红衣仙女、素衣仙女、青衣仙女、皂衣仙女、紫衣仙女、黄衣仙女、绿衣仙女，各顶花篮，去蟠桃园摘桃建会。七衣仙女直至园门首，只见蟠桃园土地、力士同齐天府二司仙吏，都在那里把门。仙女近前道：“我等奉王母懿旨，到此携桃设宴。”土地道：“仙娥且住。今岁不比往年了，玉帝点差齐天大圣在此督理，须是报大圣得知，方敢开园。”仙女道：“大圣何在？”土地道：“大圣在园内，因困倦，自家在亭子上睡哩。”仙女道：“既如此，寻他去来，不可延误。”土地即与同进。寻至花亭不见，只有衣冠在亭，不知何往。四下里都没寻处。原来大圣耍了一会，吃了几个桃子，变做二寸长的个人儿，在那大树梢头浓叶之下睡着了。七衣仙女道：“我等奉旨前来，寻不见大圣，怎敢空回？”旁有仙吏道：“仙娥既奉旨来，不必迟疑。我大圣闲游惯了，想是出园会友去了。汝等且去摘桃，我们替你回话便是。”那仙女依言，入树林之下摘桃。先在前树摘了二篮，又在中树摘了三篮；到后树上摘取，只见那树上花果稀疏，只有几个毛蒂青皮的。原来熟的都是猴王吃了。七仙女张望东西，只见南枝上只有一个半红半白的桃子。青衣女用手扯下枝来，红衣女摘了，却将枝子往上一放。原来那大圣变化了，正睡在此枝，被他惊醒。大圣即现本相，耳朵内掣出金箍棒，幌一幌，碗来粗细，咄的一声道：“你是那方怪物，敢大胆偷摘我桃！”慌得那七仙女一齐跪下道：“大圣息怒。我等不是妖怪，乃王母娘娘差来的七衣仙女，摘取仙桃，大开宝阁，做‘蟠桃盛会’。适至此间，先见了本园土地等神，寻大圣不见。我等恐迟了王母懿旨，是以等不得大圣，故先在此摘桃，万望恕罪。”大圣闻言，回嗔作喜道：“仙娥请起。王母开阁设宴，请的是谁？”仙女道：“上会自有旧规。请的是西天佛老、菩萨、罗汉，南方南极观音，东方崇恩圣帝，十洲三岛仙翁，北方北极玄灵，中央黄极黄角大仙，这个是五方五老。还有五斗星君，上八洞三清、四帝、太乙天仙等众，中八洞玉皇、九垒、海岳神仙，下八洞幽冥教主、注世地仙。各宫各殿大小尊神，俱一齐赴蟠桃嘉会。”大圣笑道：“可请我么？”仙女说：“不曾听得说。”大圣道：“我乃齐天大圣，就请我老孙做个尊席，有何不可？”仙女道：“此是上会会规，今会不知如何。”大圣道：“此言也是，难怪汝等。你且立下，待老孙先去打听个消息，看可请老孙不请。”\n\n好大圣，捻着诀，念声咒语，对众仙女道：“住！住！住！”这原来是个定身法，把那七衣仙女一个个睖睖睁睁，白着眼，都站在桃树之下。大圣纵朵祥云，跳出园内，竟奔瑶池路上而去。正行时，只见那壁厢：\n\n一天瑞霭光摇曳，五色祥云飞不绝。白鹤声鸣振九皋，紫芝色秀分千叶。\n\n中间现出一尊仙，相貌天然丰采别。神舞虹霓幌汉霄，腰悬宝录无生灭。\n\n名称赤脚大罗仙，特赴蟠桃添寿节。那赤脚大仙觌面撞见大圣，大圣低头定计，赚哄真仙，他要暗去赴会，却问：“老道何往？”大仙道：“蒙王母见招，去赴蟠桃嘉会。”大圣道：“老道不知。玉帝因老孙筋斗云疾，着老孙五路邀请列位，先至通明殿下演礼，后方去赴宴。”大仙是个光明正大之人，就以他的诳语作真。道：“常年就在瑶池演礼谢恩，如何先去通明殿演礼，方去瑶池赴会？”无奈，只得拨转祥云，径往通明殿去了。\n\n大圣驾着云，念声咒语，摇身一变，就变做赤脚大仙模样，前奔瑶池。不多时，直至宝阁，按住云头，轻轻移步，走入里面。只见那里：\n\n琼香缭绕，瑞霭缤纷，瑶台铺彩结，宝阁散氤氲。凤翥鸾腾形缥缈，金花玉萼影浮沉。上排着九凤丹霞扆，八宝紫霓墩。五彩描金桌，千花碧玉盆。桌上有龙肝和凤髓，熊掌与猩唇。珍馐百味般般美，异果佳肴色色新。"
    }
  ]
}