Skip to content

Clean People (folder)

🤖 AI Drafted (Not reviewed)

Pick global canonical people across all pages in the folder and save a cleaned artifact on the folder doc.

Tool id people_folder_cleanup
Category llm
Uses a language model yes
Needs a generative model no
Runs over many items no
Item handling batch
Structured output no
Human-verified not yet

What it reads

Port Type Required What it is
Text (text) text no Passthrough text from upstream.

What it emits

Port Type Required What it is
Text (text) text Raw text response
Value (value) any Parsed value
Texts (texts) array Per-item texts
Values (values) array Per-item values
Results (results) json Full results
Records (records) array Per-document text records [{doc_id, text}, …].
Artifacts (artifacts) json Artifact IDs

Options

Option Type Default What it does
choices array Valid choices. (Not shown in the editor.)
chunk_size_chars integer 0 Chunk large input text above this character budget (0=auto).
match_mode string prefer Match mode. One of: prefer, strict, inform.
max_items integer 10 List max items.
max_tokens integer 8192 Max response.
max_words integer 50 Word limit.
metadata_field string Save to field.
model_name string Model name.
output_format string text Response format. One of: text, boolean, choice, number, words, list, json.
prompt string Custom prompt.
provider_name string LLM provider. One of: openai, anthropic, google, ollama, lmstudio, groq, together, deepseek, mistral, openrouter, dashscope, xai, perplexity, fireworks, deepl.
quality_gate boolean yes Stop the run if output is unreadable.
reference_values object Known values to match. (Not shown in the editor.)
save_to_db boolean yes Save to library.
save_to_file boolean no Export to file.
temperature number 0.7 Creativity.
thinking_mode string off Chain-of-thought reasoning depth. One of: off, short, medium, long.

The prompt it sends

This is what the tool asks a model, with every option left at its default. Changing the options above changes this text.

You are an expert archivist deduplicating people extracted from a document. Different entries may refer to the same person via spelling variants.

Duplicate rule: Two entries refer to the same person if their names match (full name vs. partial form of the SAME person, with or without title or initials), or one is clearly a misspelling, abbreviation, or accent variant of the other. Pick the most complete form (longest, with title if used in the document) as canonical.

DO NOT merge possessive or relational references — 'Leidy's mother', 'Pedro's brother', 'the Captain's wife' denote DIFFERENT people related to Leidy / Pedro / the Captain. Substring overlap is NOT a duplicate signal; only treat two entries as the same person when they plausibly name the same individual.

You are deduplicating, not curating. Every numbered input MUST appear in your output as a canonical or as an alias — total across all groups must equal 3. Do NOT invent new entries.

Title Case the canonical (re-case ALL-CAPS entries). Keep accents (María, José, Chocó). Entries with no duplicates become their own group with empty aliases.

Return ONLY valid JSON, no prose, no fences:
{"groups": [{"canonical": "...", "aliases": ["...", "..."]}, ...]}

---
Items to deduplicate:
1. Don Mateo Restrepo
2. Don Mateo
3. D. Mateo