This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
Sie können Claude nach beliebigem Text, Bildern, Diagrammen und Tabellen in bereitgestellten PDFs fragen. Einige Beispielanwendungsfälle:
Claude funktioniert mit jedem Standard-PDF. Stellen Sie sicher, dass Ihre Anfragegröße diese Anforderungen erfüllt:
| Anforderung | Limit |
|---|---|
| Maximale Anfragegröße | 32 MB (variiert je nach Plattform) |
| Maximale Seiten pro Anfrage | 600 (100 für Modelle mit einem 200k-Token-Kontextfenster) |
| Format | Standard-PDF (keine Passwörter/Verschlüsselung) |
Beide Limits gelten für die gesamte Anfrage-Payload, einschließlich aller anderen Inhalte, die zusammen mit PDFs gesendet werden. Für große PDFs sollten Sie das Hochladen mit der Files API in Betracht ziehen und nach file_id referenzieren, um die Anfrage-Payloads klein zu halten.
Dichte PDFs (viele Seiten mit kleiner Schrift, komplexe Tabellen oder umfangreiche Grafiken) können das Kontextfenster füllen, bevor das Seitenlimit erreicht wird. Anfragen mit großen PDFs können auch fehlschlagen, bevor das Seitenlimit erreicht wird, selbst wenn Sie die Files API verwenden. Versuchen Sie, das Dokument in Abschnitte aufzuteilen; bei großen Dateien kann das Heruntersampling eingebetteter Bilder auch hilfreich sein, da jede Seite als Bild verarbeitet wird.
Da die PDF-Unterstützung auf Claudes Visionsfähigkeiten basiert, unterliegt sie den gleichen Einschränkungen und Überlegungen wie andere Visions-Aufgaben.
Die PDF-Unterstützung wird derzeit über direkten API-Zugriff und Google Vertex AI unterstützt. Alle aktiven Modelle unterstützen die PDF-Verarbeitung.
Die PDF-Unterstützung ist jetzt auf Amazon Bedrock mit den folgenden Überlegungen verfügbar:
Bei Verwendung der PDF-Unterstützung über die Converse API von Amazon Bedrock gibt es zwei unterschiedliche Dokumentverarbeitungsmodi:
Wichtig: Um auf Claudes vollständige visuelle PDF-Verständnisfähigkeiten in der Converse API zuzugreifen, müssen Sie Zitate aktivieren. Ohne aktivierte Zitate fällt die API auf die grundlegende Textextraktion zurück. Erfahren Sie mehr über Arbeiten mit Zitaten.
Converse Document Chat (Originalmodus - Nur Textextraktion)
Claude PDF Chat (Neuer Modus - Vollständiges visuelles Verständnis)
Wenn Kunden berichten, dass Claude Bilder oder Diagramme in ihren PDFs bei Verwendung der Converse API nicht sieht, müssen sie wahrscheinlich das Zitate-Flag aktivieren. Ohne es fällt Converse auf die grundlegende Textextraktion zurück.
Dies ist eine bekannte Einschränkung der Converse API. Für Anwendungen, die visuelle PDF-Analyse ohne Zitate erfordern, erwägen Sie stattdessen die Verwendung der InvokeModel API.
Für Nicht-PDF-Dateien wie .csv, .xlsx, .docx, .md oder .txt Dateien siehe Arbeiten mit anderen Dateiformaten.
Beginnen wir mit einem einfachen Beispiel unter Verwendung der Messages API. Sie können PDFs an Claude auf drei Arten bereitstellen:
document Content-Blöckenfile_id aus der Files APIDer einfachste Ansatz ist, direkt von einer URL auf ein PDF zu verweisen:
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "url",
"url": "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf",
},
},
{"type": "text", "text": "What are the key findings in this document?"},
],
}
],
)
print(message.content)Wenn Sie PDFs von Ihrem lokalen System senden müssen oder wenn eine URL nicht verfügbar ist:
import base64
import httpx
# First, load and encode the PDF
pdf_url = "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
pdf_data = base64.standard_b64encode(httpx.get(pdf_url).content).decode("utf-8")
# Alternative: Load from a local file
# with open("document.pdf", "rb") as f:
# pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")
# Send to Claude using base64 encoding
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": pdf_data,
},
},
{"type": "text", "text": "What are the key findings in this document?"},
],
}
],
)
print(message.content)Für PDFs, die Sie wiederholt verwenden, oder wenn Sie Codierungs-Overhead vermeiden möchten, verwenden Sie die Files API:
client = anthropic.Anthropic()
# Upload the PDF file
with open("document.pdf", "rb") as f:
file_upload = client.beta.files.upload(file=("document.pdf", f, "application/pdf"))
# Use the uploaded file in a message
message = client.beta.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
betas=["files-api-2025-04-14"],
messages=[
{
"role": "user",
"content": [
{
"type": "document",
"source": {"type": "file", "file_id": file_upload.id},
},
{"type": "text", "text": "What are the key findings in this document?"},
],
}
],
)
print(message.content)Wenn Sie ein PDF an Claude senden, finden die folgenden Schritte statt:
Das System extrahiert den Inhalt des Dokuments.
Claude analysiert sowohl den Text als auch die Bilder, um das Dokument besser zu verstehen.
Claude antwortet und verweist auf die Inhalte des PDF, falls relevant.
Claude kann sowohl auf textliche als auch auf visuelle Inhalte verweisen, wenn es antwortet. Sie können die Leistung weiter verbessern, indem Sie die PDF-Unterstützung mit folgenden Funktionen integrieren:
Die Token-Anzahl einer PDF-Datei hängt vom insgesamt aus dem Dokument extrahierten Text sowie von der Anzahl der Seiten ab:
Sie können Token-Zählung verwenden, um Kosten für Ihre spezifischen PDFs zu schätzen.
Befolgen Sie diese Best Practices für optimale Ergebnisse:
Für die Verarbeitung großer Mengen sollten Sie diese Ansätze in Betracht ziehen:
Cachen Sie PDFs, um die Leistung bei wiederholten Abfragen zu verbessern:
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": pdf_data,
},
"cache_control": {"type": "ephemeral"},
},
{"type": "text", "text": "Analyze this document."},
],
}
],
)Verwenden Sie die Message Batches API für Workflows mit großem Volumen:
client = anthropic.Anthropic()
message_batch = client.messages.batches.create(
requests=[
{
"custom_id": "doc1",
"params": {
"model": "claude-opus-4-7",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": pdf_data,
},
},
{"type": "text", "text": "Summarize this document."},
],
}
],
},
}
]
)Erkunden Sie praktische Beispiele der PDF-Verarbeitung im Cookbook-Rezept.
Sehen Sie die vollständige API-Dokumentation für PDF-Unterstützung.
Was this page helpful?