🤖 AI Drafted (Not reviewed)
Extract quotes section only.
|
|
| Tool id |
quotes_extract |
| Category |
llm |
| Uses a language model |
yes |
| Needs a generative model |
no |
| Runs over many items |
no |
| Item handling |
batch |
| Structured output |
yes |
| Human-verified |
not yet |
What it reads
| Port |
Type |
Required |
What it is |
Text (text) |
text |
yes |
Aggregated text to extract from. |
Records (records) |
array |
no |
Optional per-page records [{doc_id, text}, …] from an upstream Aggregate node. When present, extractors iterate per page and save entity claims to the PAGE doc instead of the container. Enables page-level KG search. |
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. |
ner_model |
string |
— |
Optional NER backend model (e.g. en_core_web_sm, en_core_web_trf). |
ner_provider |
string |
spacy |
NER hint provider: spacy, llm, or transformers. |
output_format |
string |
text |
Response format. One of: text, boolean, choice, number, words, list, json. |
output_language |
string |
auto |
Output language. ‘auto’ detects from the source text (English / Spanish today); explicit names like ‘English’ or ‘Spanish’ pin the language regardless of input. |
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 extracting a single section from a document.
Task: Extract every DIRECT QUOTATION — text the source presents as verbatim words spoken or written by a specific person. 'name' = the speaker's name as written in the text (preserve original spelling and accents), or null when no speaker is identified. 'verb' = the attribution verb (said, argued, wrote, testified, reported, declared, stated, asked). 'object' = the verbatim quoted text exactly as it appears in the source — preserve original punctuation, spelling, accents, and any [ilegible] / [uncertain] markers exactly as written. Do NOT paraphrase or summarise the quote. 'source_text' = the shortest surrounding sentence or phrase that contains both the quote and its attribution, to anchor it in context. ONLY extract text that is clearly a direct quotation (enclosed in quotation marks or attributed with a speech verb). Skip paraphrases, indirect speech, and the author's own narrative voice.
Rules:
- Include ALL occurrences.
- Only include facts supported by the text. Do not speculate.
- Write all prose in Spanish.
- For 'source_text', copy the exact sentence (or shortest paragraph) where the claim appears, verbatim — preserve original spelling, accents, punctuation, and any [ilegible] / [uncertain] markers exactly as written. Do NOT paraphrase, translate, resolve, or delete this field.
- For 'epistemic_status', tag tentative / confirmed / rejected based on how firmly the source asserts the claim.
- For 'claim_type', tag fact / analysis / interpretation / argument / historiography / theory based on what KIND of knowledge the claim is.
- For 'time_start' / 'time_end', ISO 8601 (year, year-month, or full date). Only populate when the source dates the claim ('became alcalde in 1933', 'on 23 July 1933'). Leave empty when the source is undated. For instant events, time_end equals time_start.
- For 'grounds' / 'warrant', only populate when claim_type is analysis / argument / interpretation / theory — these are the Toulmin-model components. 'grounds' = the evidence the source presents; 'warrant' = the rule connecting grounds to the claim. Leave empty for plain facts.
- Return ONLY valid JSON matching this schema (no prose outside JSON):
{"quotes": [{"name": "Speaker name or null", "verb": "said|argued|wrote|testified", "object": "verbatim quote text", "source_text": "surrounding sentence"}]}