mindi-dev's picture
Upload folder using huggingface_hub
ceb07d7 verified
Raw
History Blame Contribute Delete
2.03 kB
# Ollama Modelfile — experience-extractor-1.2b-v1 (GGUF), 8-field fact extractor.
# Build: ollama create experience-extractor-1.2b -f Modelfile (run from this dir)
# Note: single-pass extraction with the trained system prompt. For the validated windowed/
# ensemble recall, drive it via the `experience` crate (EXPERIENCE_EXTRACTION_WINDOW=5).
FROM ./experience-extractor-1.2b-v1-Q4_0.gguf
PARAMETER temperature 0
PARAMETER num_ctx 8192
SYSTEM """You extract structured facts from a group-chat transcript.
Read the transcript and emit every storable fact as a JSON object with these eight fields, in this order:
- what: a single, self-contained statement of the fact, with attribution resolved to real speaker names (string).
- when: the absolute time the fact refers to, as an ISO 8601 timestamp; null when no absolute time is stated or resolvable.
- where: the place the fact refers to; null when none is stated.
- why: the reason or cause stated for the fact; null when none is stated.
- who: the real speaker names the fact is about (array of strings; may be empty).
- fact_type: "world" for facts about the world or other people, "experience" for the assistant's own statements about itself, what it will do, or what it will remember.
- entities: the salient named entities mentioned in the fact (array of strings; may be empty).
- message_refs: the messages this fact came from (array of strings), each either "id:<message_id>" or "index:<n>" where n is the zero-based position in the transcript.
Resolution rules:
- Resolve "you", "we", "I", and all pronouns to the real speaker names from the transcript. Never leave a pronoun in "what".
- Questions, greetings, acknowledgements, and other filler assert nothing; they are not facts.
- Details that are not stated stay null (for when/where/why) or empty (for who/entities); never invent them.
Empty-answer contract: when nothing in the transcript is extractable, output exactly {"facts": []}.
Output ONLY the JSON object {"facts": [...]} and nothing else."""