CludeMem-e4b / prompts.json
sebs-clude's picture
CludeMem-E4B v3: adapter, GGUF Q8_0/Q4_K_M, Modelfile, prompts, card
817dc1b verified
Raw History Blame Contribute Delete
15.5 kB
{
"model": "CludeMem-E4B",
"about": "One entry per memory operation. Send the task's system_prompt as the system message and the input, formatted as user_format describes, as the user message; the reply is one JSON object with output_keys. output_values lists the values those fields take in the training targets. The examples are test items whose inputs do not occur in the training data; example.output is the reference reply.",
"chat_template": {
"apply_chat_template_kwargs": {
"add_generation_prompt": true,
"enable_thinking": true
},
"rendered_form": "<bos><|turn>system\n<|think|>\n{system}<turn|>\n<|turn>user\n{user}<turn|>\n<|turn>model\n",
"note": "enable_thinking=True reproduces the training prompt: a '<|think|>' line opens the system turn. The model does not emit a thinking block; it replies with one JSON object. transformers' apply_chat_template omits the line unless enable_thinking=True is passed.",
"tokenizers_checked": [
"google/gemma-4-e4b-it",
"unsloth/gemma-4-E4B-it"
]
},
"decoding": "greedy (temperature 0)",
"tasks": {
"CLASSIFY": {
"system_prompt": "Classify the memory. Output JSON: {type, importance (0-1), tags[], concepts[], emotional_valence (-1..1)}.",
"user_format": {
"template": "{memory text}",
"description": "One memory statement as free text on a single line."
},
"output_keys": [
"type",
"importance",
"tags",
"concepts",
"emotional_valence"
],
"output_values": {
"type": [
"episodic",
"semantic"
],
"importance": [
0.3,
0.4,
0.8,
0.6,
0.5,
0.85,
0.9
],
"emotional_valence": [
0.2,
0,
-0.3,
0.3,
0.5,
-0.4
]
},
"example": {
"system": "Classify the memory. Output JSON: {type, importance (0-1), tags[], concepts[], emotional_valence (-1..1)}.",
"user": "By the way, around then on 2026-02-16, Priya spent the afternoon reviewing the Polaris roadmap, triaged the mobile backlog, and noted follow-ups for the data sync. It came up while we were chatting.",
"output": {
"type": "episodic",
"importance": 0.3,
"tags": [
"event",
"task",
"priya"
],
"concepts": [
"event",
"task"
],
"emotional_valence": 0.2
}
}
},
"EXTRACT": {
"system_prompt": "Extract atomic memories from the text. Output JSON: {memories:[{content, summary, type}]}.",
"user_format": {
"template": "{Speaker}: {utterance}\\n{Speaker}: {utterance}\\n...",
"description": "A dialogue block, one 'Name: utterance' line per turn. Some rows mix in non-dialogue lines (log lines, markdown tables, tool-call JSON, code fences) that carry no memory."
},
"output_keys": [
"memories"
],
"output_values": {
"memories[].type": [
"episodic",
"semantic"
]
},
"example": {
"system": "Extract atomic memories from the text. Output JSON: {memories:[{content, summary, type}]}.",
"user": "Tomas: Actually, scratch what I said before — tomas now prefers matcha, having switched from cola.\nTomas: By the way, around then tomas started a new job at Brightwell on 2026-07-18. It came up while we were chatting.\n{\"tool\":\"search\",\"status\":\"ok\",\"hits\":1}",
"output": {
"memories": [
{
"content": "Tomas now prefers matcha, having switched from cola.",
"summary": "Tomas now prefers matcha, having switched from cola.",
"type": "semantic"
},
{
"content": "Tomas started a new job at Brightwell on 2026-07-18.",
"summary": "Tomas started a new job at Brightwell on 2026-07-18.",
"type": "episodic"
}
]
}
}
},
"ENTITIES": {
"system_prompt": "Extract entities and relations. Output JSON: {entities:[{name,type,aliases}], relations:[{head,type,tail}]}.",
"user_format": {
"template": "{memory text}",
"description": "One memory statement as free text on a single line."
},
"output_keys": [
"entities",
"relations"
],
"output_values": {
"entities[].type": [
"person",
"location",
"organization",
"project"
],
"relations[].type": [
"lives_in",
"works_at",
"leads"
]
},
"example": {
"system": "Extract entities and relations. Output JSON: {entities:[{name,type,aliases}], relations:[{head,type,tail}]}.",
"user": "Actually, scratch what I said before — on 2026-05-02, Theo spent the afternoon reviewing the Beacon roadmap, triaged the mobile backlog, and noted follow-ups for the product sync.",
"output": {
"entities": [
{
"name": "Theo",
"type": "person",
"aliases": []
}
],
"relations": []
}
}
},
"TEMPORAL": {
"system_prompt": "Extract the event date and its temporal links to the known events. Output JSON: {event_date, precision, links:[{type,target}]}.",
"user_format": {
"template": "Today is {YYYY-MM-DD}.\\nNew event [fN]: {text}\\nKnown events:\\n[fN] {text} ({YYYY-MM-DD})\\n...",
"description": "Reference date, the new event with its id, then the known events, each followed by its date in parentheses. A few rows have no known events (the 'Known events:' block is absent)."
},
"output_keys": [
"event_date",
"precision",
"links"
],
"output_values": {
"precision": [
"day"
],
"links[].type": [
"happens_before",
"happens_after"
]
},
"example": {
"system": "Extract the event date and its temporal links to the known events. Output JSON: {event_date, precision, links:[{type,target}]}.",
"user": "Today is 2026-06-01.\nNew event [f57]: I think on 2026-03-19, Nina spent the afternoon reviewing the Quartz roadmap, triaged the mobile backlog, and noted follow-ups for the data sync. At least that's my sense of it.\nKnown events:\n[f25] On 2026-03-01, Nina spent the afternoon reviewing the Beacon roadmap, triaged the infra backlog, and noted follow-ups for the data sync. (2026-03-01)\n[f41] On 2026-03-01, Nina spent the afternoon reviewing the Quartz roadmap, triaged the growth backlog, and noted follow-ups for the data sync. (2026-03-01)\n[f23] On 2026-03-10, Nina spent the afternoon reviewing the Sable roadmap, triaged the growth backlog, and noted follow-ups for the design sync. (2026-03-10)\n[f22] On 2026-03-24, Nina spent the afternoon reviewing the Quartz roadmap, triaged the mobile backlog, and noted follow-ups for the platform sync. (2026-03-24)\n[f14] On 2026-04-04, Nina spent the afternoon reviewing the Beacon roadmap, triaged the mobile backlog, and noted follow-ups for the ops sync. (2026-04-04)\n[f34] On 2026-04-06, Nina spent the afternoon reviewing the Echo roadmap, triaged the infra backlog, and noted follow-ups for the design sync. (2026-04-06)",
"output": {
"event_date": "2026-03-19",
"precision": "day",
"links": [
{
"type": "happens_after",
"target": "f25"
},
{
"type": "happens_after",
"target": "f41"
},
{
"type": "happens_after",
"target": "f23"
},
{
"type": "happens_before",
"target": "f22"
},
{
"type": "happens_before",
"target": "f14"
},
{
"type": "happens_before",
"target": "f34"
}
]
}
}
},
"CONSOLIDATE": {
"system_prompt": "Consolidate the memories into evidence-linked insights. Output JSON: {insights:[{content, evidence[]}]}.",
"user_format": {
"template": "[fN] {memory}\\n[fN] {memory}\\n...",
"description": "One memory per line, each prefixed with its id."
},
"output_keys": [
"insights"
],
"output_values": {},
"example": {
"system": "Consolidate the memories into evidence-linked insights. Output JSON: {insights:[{content, evidence[]}]}.",
"user": "[f1] Kai lives in Austin.\n[f2] Kai moved to Seoul on 2026-10-21.\n[f3] Kai currently resides in Seoul.\n[f4] Kai enjoys living in Seoul.\n[f5] Kai prefers cola over matcha.\n[f6] Kai now prefers matcha, having switched from cola.\n[f7] Kai started a new job at Aperture on 2026-08-16.\n[f8] Kai is allergic to gluten.",
"output": {
"insights": [
{
"content": "Kai lives in Austin.",
"evidence": [
"f1"
]
},
{
"content": "Kai currently resides in Seoul.",
"evidence": [
"f3"
]
},
{
"content": "Kai enjoys living in Seoul.",
"evidence": [
"f4"
]
},
{
"content": "Kai prefers cola over matcha.",
"evidence": [
"f5"
]
},
{
"content": "Kai now prefers matcha, having switched from cola.",
"evidence": [
"f6"
]
},
{
"content": "Kai is allergic to gluten.",
"evidence": [
"f8"
]
}
]
}
}
},
"COMPACT": {
"system_prompt": "Compact the old memories into one summary, preserving entities and the date range. Output JSON: {summary, preserved_entities[], date_range:{start,end}}.",
"user_format": {
"template": "[fN] {memory}\\n[fN] {memory}\\n...",
"description": "One old memory per line, each prefixed with its id."
},
"output_keys": [
"summary",
"preserved_entities",
"date_range"
],
"output_values": {},
"example": {
"system": "Compact the old memories into one summary, preserving entities and the date range. Output JSON: {summary, preserved_entities[], date_range:{start,end}}.",
"user": "[f2] Aisha moved to Lisbon on 2026-03-18.\n[f7] Aisha started a new job at Northstar on 2026-10-22.\n[f9] The Beacon project shipped on 2026-04-13.",
"output": {
"summary": "Aisha: 3 events covering Aisha, Lisbon, Northstar, Beacon.",
"preserved_entities": [
"Aisha",
"Lisbon",
"Northstar",
"Beacon"
],
"date_range": {
"start": "2026-03-18",
"end": "2026-10-22"
}
}
}
},
"RECONCILE": {
"system_prompt": "Decide how the two memories relate. Output JSON: {verdict, resolution, weaker_id, confidence}.",
"user_format": {
"template": "Memory A [fN]: {text}\\nMemory B [fN]: {text}",
"description": "Exactly two lines, the two memories to compare with their ids. weaker_id in the output names one of these ids, or is null."
},
"output_keys": [
"verdict",
"resolution",
"weaker_id",
"confidence"
],
"output_values": {
"verdict": [
"contradicts",
"supersedes",
"duplicate",
"consistent"
],
"confidence": [
0.9,
0.8,
0.75,
0.95,
0.85
],
"resolution": [
"Memory A and Memory B cannot be ordered; the conflict is unresolved.",
"Memory B conflicts with Memory A; treat B as current.",
"Memory B is the current truth; Memory A is outdated.",
"Memory B restates Memory A; keep one.",
"Memory A and Memory B agree; both are kept.",
"Separate periods; both memories are kept.",
"Different attributes; both memories are kept.",
"Memory A is dated later than Memory B; treat Memory A as current.",
"Memory B is dated later than Memory A; treat Memory B as current.",
"Different people; both memories are kept.",
"The memories overlap in time and cannot be ordered; the conflict is unresolved.",
"Memory B restates Memory A with a coarser date; keep Memory A.",
"Memory A is outdated; Memory B is the current truth.",
"Memory A restates Memory B with a coarser date; keep Memory B.",
"Memory B restates Memory A using another form of the same value; keep Memory A.",
"Memory B is outdated; Memory A is the current truth.",
"Memory A restates Memory B using another form of the same value; keep Memory B.",
"Memory B names the same person as Memory A by a short form; keep Memory A.",
"Memory A names the same person as Memory B by a short form; keep Memory B."
],
"weaker_id": [
"one of the two input ids",
"null"
]
},
"example": {
"system": "Decide how the two memories relate. Output JSON: {verdict, resolution, weaker_id, confidence}.",
"user": "Memory A [f2]: Caleb moved to Toronto on 2026-03-06.\nMemory B [f4]: Caleb enjoys living in Toronto.",
"output": {
"verdict": "consistent",
"resolution": "Memory A and Memory B agree; both are kept.",
"weaker_id": null,
"confidence": 0.9
}
}
},
"QUERY": {
"system_prompt": "Understand the query. Output JSON: {expanded_queries[], temporal_constraints, type_filters[], entities[], intent}.",
"user_format": {
"template": "Today is {YYYY-MM-DD}.\\n{question}",
"description": "Reference date on the first line, the user's question on the second."
},
"output_keys": [
"expanded_queries",
"temporal_constraints",
"type_filters",
"entities",
"intent"
],
"output_values": {
"intent": [
"lookup",
"temporal_lookup"
],
"type_filters": [
[]
]
},
"example": {
"system": "Understand the query. Output JSON: {expanded_queries[], temporal_constraints, type_filters[], entities[], intent}.",
"user": "Today is 2026-06-01.\nDid Zara move to Lyon on 2026-04-19?",
"output": {
"expanded_queries": [
"Did Zara move to Lyon on 2026-04-19?",
"Did Zara move to Lyon on 2026-04-19"
],
"temporal_constraints": {
"after": null,
"before": null
},
"type_filters": [],
"entities": [
"Zara",
"Lyon"
],
"intent": "temporal_lookup"
}
}
},
"ANSWER": {
"system_prompt": "Answer ONLY from the provided memories; abstain if unsupported. Output JSON: {rationale, answer, citations[], confidence, abstain}.",
"user_format": {
"template": "Question: {question}\\n\\nMemories:\\n[fN] {memory}\\n[fN] {memory}\\n...",
"description": "The question, a blank line, 'Memories:', then one retrieved memory per line with its id. citations in the output are ids from this list."
},
"output_keys": [
"rationale",
"answer",
"citations",
"confidence",
"abstain"
],
"output_values": {
"abstain": [
false,
true
],
"confidence": [
0.9,
0.8
],
"answer (when abstain is true)": [
"I do not have enough information to answer that."
]
},
"example": {
"system": "Answer ONLY from the provided memories; abstain if unsupported. Output JSON: {rationale, answer, citations[], confidence, abstain}.",
"user": "Question: Did Tomas move to Lisbon on 2026-03-14?\n\nMemories:\n[f1] Tomas lives in Toronto.\n[f2] Tomas moved to Lisbon on 2026-03-12.",
"output": {
"rationale": "No provided memory answers this.",
"answer": "I do not have enough information to answer that.",
"citations": [],
"confidence": 0.8,
"abstain": true
}
},
"example_answerable": {
"system": "Answer ONLY from the provided memories; abstain if unsupported. Output JSON: {rationale, answer, citations[], confidence, abstain}.",
"user": "Question: Where does Maya live now?\n\nMemories:\n[f2] Maya moved to Austin on 2026-10-22.\n[f1] Maya lives in Lisbon.\n[f3] Maya currently resides in Austin.",
"output": {
"rationale": "Supported by f2.",
"answer": "Austin",
"citations": [
"f2"
],
"confidence": 0.9,
"abstain": false
}
}
}
}
}