Claude kann detaillierte Zitate bereitstellen, wenn Fragen zu Dokumenten beantwortet werden, um Ihnen zu helfen, Informationsquellen in Antworten zu verfolgen und zu überprüfen.
Alle aktiven Modelle unterstützen Zitate, mit Ausnahme von Haiku 3.
Zitate mit Claude Sonnet 3.7
Claude Sonnet 3.7 kann weniger wahrscheinlich Zitate machen als andere Claude-Modelle ohne explizitere Anweisungen vom Benutzer. Bei der Verwendung von Zitaten mit Claude Sonnet 3.7 empfehlen wir, zusätzliche Anweisungen in der user-Runde einzufügen, wie zum Beispiel "Use citations to back up your answer.".
Wir haben auch beobachtet, dass das Modell, wenn es aufgefordert wird, seine Antwort zu strukturieren, wahrscheinlich keine Zitate verwendet, es sei denn, es wird explizit angewiesen, Zitate in diesem Format zu verwenden. Wenn das Modell beispielsweise aufgefordert wird, <result>-Tags in seiner Antwort zu verwenden, sollten Sie etwas wie "Always use citations in your answer, even within <result> tags." hinzufügen.
Bitte teilen Sie Ihr Feedback und Ihre Vorschläge zur Zitate-Funktion über dieses Formular mit.
Hier ist ein Beispiel für die Verwendung von Zitaten mit der Messages API:
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?"
}
]
}
]
}'Vergleich mit Prompt-basierten Ansätzen
Im Vergleich zu Prompt-basierten Zitatlösungen hat die Zitate-Funktion die folgenden Vorteile:
cited_text nicht zu Ihren Ausgabe-Token zählt.cited_text extrahieren, enthalten Zitate garantiert gültige Zeiger auf die bereitgestellten Dokumente.Integrieren Sie Zitate mit Claude in diesen Schritten:
Dokument(e) bereitstellen und Zitate aktivieren
citations.enabled=true auf jedem Ihrer Dokumente. Derzeit müssen Zitate auf allen oder keinen Dokumenten innerhalb einer Anfrage aktiviert sein.Dokumente werden verarbeitet
Claude bietet zitierte Antwort
Automatisches Chunking vs. benutzerdefinierte Inhalte
Standardmäßig werden Klartext- und PDF-Dokumente automatisch in Sätze aufgeteilt. Wenn Sie mehr Kontrolle über die Zitgranularität benötigen (z. B. für Aufzählungspunkte oder Transkripte), verwenden Sie stattdessen benutzerdefinierte Inhalts-Dokumente. Weitere Informationen finden Sie unter Dokumenttypen.
Wenn Sie beispielsweise möchten, dass Claude bestimmte Sätze aus Ihren RAG-Chunks zitieren kann, sollten Sie jeden RAG-Chunk in ein Klartext-Dokument einfügen. Andernfalls, wenn Sie keine weitere Aufteilung durchführen möchten oder wenn Sie eine zusätzliche Aufteilung anpassen möchten, können Sie RAG-Chunks in benutzerdefinierte Inhalts-Dokumente einfügen.
source-Inhalten eines Dokuments befindet, kann zitiert werden.title und context sind optionale Felder, die an das Modell übergeben werden, aber nicht für zitierte Inhalte verwendet werden.title ist in der Länge begrenzt, daher können Sie das context-Feld nützlich finden, um Dokumentmetadaten als Text oder stringifiziertes JSON zu speichern.content-Liste, die im benutzerdefinierten Inhalts-Dokument bereitgestellt wird.cited_text-Feld wird zur Bequemlichkeit bereitgestellt und zählt nicht zu Ihren Ausgabe-Token.cited_text in nachfolgenden Gesprächsrunden zurückgegeben wird, wird es auch nicht zu den Eingabe-Token gezählt.Zitate funktionieren in Verbindung mit anderen API-Funktionen, einschließlich Prompt-Caching, Token-Zählung und Batch-Verarbeitung.
Zitate und strukturierte Ausgaben sind inkompatibel
Zitate können nicht zusammen mit Strukturierten Ausgaben verwendet werden. Wenn Sie Zitate auf einem benutzerbereitgestellten Dokument aktivieren (Dokumentblöcke oder RequestSearchResultBlock) und auch den output_config.format-Parameter (oder den veralteten output_format-Parameter) einschließen, gibt die API einen 400-Fehler zurück.
Dies liegt daran, dass Zitate das Verschachteln von Zitierblöcken mit Textausgabe erfordern, was mit den strikten JSON-Schemaeinschränkungen strukturierter Ausgaben inkompatibel ist.
Zitate und Prompt-Caching können effektiv zusammen verwendet werden.
Die in Antworten generierten Zitierblöcke können nicht direkt zwischengespeichert werden, aber die Quelldokumente, auf die sie verweisen, können zwischengespeichert werden. Um die Leistung zu optimieren, wenden Sie cache_control auf Ihre Dokumentinhaltsblöcke auf oberster Ebene an.
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 diesem Beispiel:
cache_control auf dem Dokumentblock zwischengespeichertWir unterstützen drei Dokumenttypen für Zitate. Dokumente können direkt in der Nachricht (Base64, Text oder URL) bereitgestellt oder über die Files API hochgeladen und durch file_id referenziert werden:
| Typ | Am besten für | Chunking | Zitat-Format |
|---|---|---|---|
| Klartext | Einfache Textdokumente, Prosa | Satz | Zeichenindizes (0-indiziert) |
| PDF-Dateien mit Textinhalt | Satz | Seitennummern (1-indiziert) | |
| Benutzerdefinierte Inhalte | Listen, Transkripte, spezielle Formatierung, präzisere Zitate | Kein zusätzliches Chunking | Blockindizes (0-indiziert) |
.csv, .xlsx, .docx, .md und .txt Dateien werden nicht als Dokumentblöcke unterstützt. Konvertieren Sie diese in Klartext und fügen Sie sie direkt in den Nachrichteninhalt ein. Siehe Arbeiten mit anderen Dateiformaten.
Klartext-Dokumente werden automatisch in Sätze aufgeteilt. Sie können sie inline oder durch Referenz mit ihrer file_id bereitstellen:
PDF-Dokumente können als Base64-codierte Daten oder durch file_id bereitgestellt werden. PDF-Text wird extrahiert und in Sätze aufgeteilt. Da Bildzitate noch nicht unterstützt werden, sind PDFs, die Scans von Dokumenten sind und keinen extrahierbaren Text enthalten, nicht zitierbar.
Benutzerdefinierte Inhalts-Dokumente geben Ihnen Kontrolle über die Zitgranularität. Es wird keine zusätzliche Aufteilung durchgeführt und Chunks werden dem Modell gemäß den bereitgestellten Inhaltsblöcken bereitgestellt.
{
"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}
}Wenn Zitate aktiviert sind, enthalten Antworten mehrere Textblöcke mit Zitaten:
{
"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
}]
}
]
}Für Streaming-Antworten haben wir einen citations_delta-Typ hinzugefügt, der ein einzelnes Zitat enthält, das zur citations-Liste auf dem aktuellen text-Inhaltsblock hinzugefügt werden soll.
Was this page helpful?