Claude è in grado di fornire citazioni dettagliate quando risponde a domande su documenti, aiutandoti a tracciare e verificare le fonti di informazioni nelle risposte.
Tutti i modelli attivi supportano le citazioni, ad eccezione di Haiku 3.
Citazioni con Claude Sonnet 3.7
Claude Sonnet 3.7 potrebbe essere meno propenso a fare citazioni rispetto ad altri modelli Claude senza istruzioni più esplicite da parte dell'utente. Quando si utilizzano citazioni con Claude Sonnet 3.7, consigliamo di includere istruzioni aggiuntive nel turno user, come ad esempio "Usa citazioni per supportare la tua risposta.".
Abbiamo anche osservato che quando al modello viene chiesto di strutturare la sua risposta, è improbabile che utilizzi citazioni a meno che non gli sia esplicitamente detto di usare citazioni all'interno di quel formato. Ad esempio, se al modello viene chiesto di utilizzare tag <result> nella sua risposta, dovresti aggiungere qualcosa come "Usa sempre citazioni nella tua risposta, anche all'interno dei tag <result>.".
Condividi il tuo feedback e i tuoi suggerimenti sulla funzione di citazioni utilizzando questo modulo.
Ecco un esempio di come utilizzare le citazioni con l'API Messages:
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "text",
"media_type": "text/plain",
"data": "The grass is green. The sky is blue."
},
"title": "My Document",
"context": "This is a trustworthy document.",
"citations": {"enabled": true}
},
{
"type": "text",
"text": "What color is the grass and sky?"
}
]
}
]
}'Confronto con approcci basati su prompt
In confronto con le soluzioni di citazioni basate su prompt, la funzione di citazioni ha i seguenti vantaggi:
cited_text non conta verso i tuoi token di output.cited_text, le citazioni sono garantite per contenere puntatori validi ai documenti forniti.Integra le citazioni con Claude in questi passaggi:
Fornisci documento(i) e abilita le citazioni
citations.enabled=true su ciascuno dei tuoi documenti. Attualmente, le citazioni devono essere abilitate su tutti o nessuno dei documenti all'interno di una richiesta.I documenti vengono elaborati
Claude fornisce una risposta citata
Suddivisione automatica rispetto a contenuto personalizzato
Per impostazione predefinita, i documenti di testo semplice e PDF vengono suddivisi automaticamente in frasi. Se hai bisogno di più controllo sulla granularità delle citazioni (ad esempio, per punti elenco o trascrizioni), utilizza invece documenti di contenuto personalizzato. Vedi Tipi di documento per ulteriori dettagli.
Ad esempio, se desideri che Claude sia in grado di citare frasi specifiche dai tuoi blocchi RAG, dovresti inserire ogni blocco RAG in un documento di testo semplice. Altrimenti, se non desideri ulteriore suddivisione o se desideri personalizzare ulteriormente la suddivisione, puoi inserire i blocchi RAG in documento(i) di contenuto personalizzato.
source di un documento può essere citato.title e context sono campi facoltativi che verranno passati al modello ma non utilizzati verso il contenuto citato.title è limitato in lunghezza, quindi potresti trovare il campo context utile per archiviare metadati del documento come testo o json stringificato.content fornito nel documento di contenuto personalizzato.cited_text viene fornito per comodità e non conta verso i token di output.cited_text non viene conteggiato nemmeno verso i token di input.Le citazioni funzionano in combinazione con altre funzioni dell'API incluse prompt caching, token counting e batch processing.
Le citazioni e gli output strutturati sono incompatibili
Le citazioni non possono essere utilizzate insieme agli Output strutturati. Se abiliti le citazioni su qualsiasi documento fornito dall'utente (blocchi Document o RequestSearchResultBlock) e includi anche il parametro output_config.format (o il parametro deprecato output_format), l'API restituirà un errore 400.
Questo perché le citazioni richiedono l'intercalazione di blocchi di citazione con output di testo, il che è incompatibile con i vincoli dello schema JSON rigoroso degli output strutturati.
Le citazioni e il prompt caching possono essere utilizzati insieme in modo efficace.
I blocchi di citazione generati nelle risposte non possono essere memorizzati nella cache direttamente, ma i documenti di origine a cui fanno riferimento possono essere memorizzati nella cache. Per ottimizzare le prestazioni, applica cache_control ai tuoi blocchi di contenuto del documento di livello superiore.
import anthropic
client = anthropic.Anthropic()
# Long document content (e.g., technical documentation)
long_document = "This is a very long document with thousands of words..." + " ... " * 1000 # Minimum cacheable length
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "text",
"media_type": "text/plain",
"data": long_document
},
"citations": {"enabled": True},
"cache_control": {"type": "ephemeral"} # Cache the document content
},
{
"type": "text",
"text": "What does this document say about API features?"
}
]
}
]
)In questo esempio:
cache_control sul blocco del documentoSupportiamo tre tipi di documento per le citazioni. I documenti possono essere forniti direttamente nel messaggio (base64, testo o URL) o caricati tramite l'API Files e referenziati per file_id:
| Tipo | Migliore per | Suddivisione | Formato di citazione |
|---|---|---|---|
| Testo semplice | Documenti di testo semplici, prosa | Frase | Indici di caratteri (indicizzati da 0) |
| File PDF con contenuto di testo | Frase | Numeri di pagina (indicizzati da 1) | |
| Contenuto personalizzato | Elenchi, trascrizioni, formattazione speciale, citazioni più granulari | Nessuna suddivisione aggiuntiva | Indici di blocchi (indicizzati da 0) |
I file .csv, .xlsx, .docx, .md e .txt non sono supportati come blocchi di documento. Convertili in testo semplice e includili direttamente nel contenuto del messaggio. Vedi Lavorare con altri formati di file.
I documenti di testo semplice vengono suddivisi automaticamente in frasi. Puoi fornirli inline o per riferimento con il loro file_id:
I documenti PDF possono essere forniti come dati codificati in base64 o per file_id. Il testo PDF viene estratto e suddiviso in frasi. Poiché le citazioni di immagini non sono ancora supportate, i PDF che sono scansioni di documenti e non contengono testo estraibile non saranno citabili.
I documenti di contenuto personalizzato ti danno il controllo sulla granularità delle citazioni. Non viene eseguita ulteriore suddivisione e i blocchi vengono forniti al modello secondo i blocchi di contenuto forniti.
{
"type": "document",
"source": {
"type": "content",
"content": [
{"type": "text", "text": "First chunk"},
{"type": "text", "text": "Second chunk"}
]
},
"title": "Document Title", # optional
"context": "Context about the document that will not be cited from", # optional
"citations": {"enabled": True}
}Quando le citazioni sono abilitate, le risposte includono più blocchi di testo con citazioni:
{
"content": [
{
"type": "text",
"text": "According to the document, "
},
{
"type": "text",
"text": "the grass is green",
"citations": [{
"type": "char_location",
"cited_text": "The grass is green.",
"document_index": 0,
"document_title": "Example Document",
"start_char_index": 0,
"end_char_index": 20
}]
},
{
"type": "text",
"text": " and "
},
{
"type": "text",
"text": "the sky is blue",
"citations": [{
"type": "char_location",
"cited_text": "The sky is blue.",
"document_index": 0,
"document_title": "Example Document",
"start_char_index": 20,
"end_char_index": 36
}]
},
{
"type": "text",
"text": ". Information from page 5 states that ",
},
{
"type": "text",
"text": "water is essential",
"citations": [{
"type": "page_location",
"cited_text": "Water is essential for life.",
"document_index": 1,
"document_title": "PDF Document",
"start_page_number": 5,
"end_page_number": 6
}]
},
{
"type": "text",
"text": ". The custom document mentions ",
},
{
"type": "text",
"text": "important findings",
"citations": [{
"type": "content_block_location",
"cited_text": "These are important findings.",
"document_index": 2,
"document_title": "Custom Content Document",
"start_block_index": 0,
"end_block_index": 1
}]
}
]
}Per le risposte in streaming, abbiamo aggiunto un tipo citations_delta che contiene una singola citazione da aggiungere all'elenco citations sul blocco di contenuto text corrente.
Was this page helpful?