🤖 AI Drafted (Not reviewed)
Extract citation usage section only.
|
|
| Tool id |
citation_usage_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: Detect every in-text citation marker in the document body (Author-Year, numeric bracket references like [12], and footnote/endnote reference markers). For each marker, infer which cited work it points to, summarize exactly HOW the author uses that source, and classify the stance. 'marker' is the literal citation marker as written. 'cited_work' is the best author/year/title label you can infer from the surrounding text. 'stance' must be one of: cites, supports, extends_reading, contests_reading, critiques, defends. 'claim_text' is a short statement of the author's use of the source. 'excerpt' is the shortest surrounding sentence or paragraph containing the citation marker. 'char_start' and 'char_end' are offsets for the marker inside the provided text chunk when you can determine them; use null when unsure. Skip bibliography entries themselves unless the body text discusses how a source is being used.
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):
{"citation_usages": [{"marker": "...", "cited_work": "...", "stance": "cites|supports|extends_reading|contests_reading|critiques|defends", "claim_text": "...", "excerpt": "...", "char_start": 0, "char_end": 12, "confidence": 0.8}]}