Anthropic Claude API in Python
anthropic.Anthropic(), messages.create(), Content-Blöcke, Extended Thinking, Streaming.
Anthropic Claude API in Python ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Das Anthropic-SDK
Auf die Claude-Modelle von Anthropic greifen Sie über das anthropic-Python-Paket zu. Installieren Sie es mit pip install anthropic. Claude zeichnet sich durch Schlussfolgerungen mit langem Kontext, sorgfältiges Befolgen von Anweisungen und Tool-Nutzung aus.
pip install anthropic
import anthropicDen Client erstellen
Erstellen Sie den Client mit anthropic.Anthropic(). Standardmäßig liest er Ihren Schlüssel aus der Umgebungsvariablen ANTHROPIC_API_KEY, sodass die Zugangsdaten nicht im Code stehen müssen.
import anthropic
client = anthropic.Anthropic()
# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")Die Messages API
Claude verwendet client.messages.create(). Anders als bei OpenAI ist der System-Prompt ein separater Parameter und keine Nachricht in der Liste. Die messages-Liste enthält nur Nachrichten des Benutzers und des Assistenten.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
system="You are a concise expert.",
messages=[{"role": "user", "content": "Explain RAG in one sentence."}]
)max_tokens ist erforderlich
Ein wichtiger Unterschied: max_tokens ist in der Anthropic API verpflichtend. Damit begrenzen Sie, wie viele Tokens Claude in seiner Antwort generieren darf. Setzen Sie den Wert hoch genug für die erwartete Ausgabe, aber bedenken Sie, dass er auch vor unkontrolliert steigenden Kosten schützt.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=2048,
messages=[{"role": "user", "content": "Write a haiku about Python."}]
)Die Antwort lesen
Claude gibt eine content-Liste mit Blöcken zurück. Bei reinem Text befindet sich die Antwort unter message.content[0].text. Die Liste ist erforderlich, weil eine Antwort mehrere Blöcke enthalten kann, etwa Text und zusätzlich eine Tool-Use-Anfrage.
print(message.content[0].text)
# Inspect block type
print(message.content[0].type) # "text"Gesprächsverlauf
Wie andere Chat-APIs ist auch Claude zustandslos. Um ein Gespräch fortzusetzen, müssen Sie die Antwort des Assistenten und die nächste Nachricht des Benutzers selbst an messages anhängen.
messages = [{"role": "user", "content": "Hello"}]
resp = client.messages.create(model="claude-opus-4-8", max_tokens=512, messages=messages)
messages.append({"role": "assistant", "content": resp.content[0].text})
messages.append({"role": "user", "content": "Tell me more"})Streaming mit einem Context Manager
Für die Ausgabe in Echtzeit bietet Claude client.messages.stream(), das mit der with-Anweisung als Context Manager verwendet wird. Dadurch wird die Verbindung sicher geöffnet und geschlossen.
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "Count to five."}]
) as stream:
pass # iterate insideÜber den Text-Stream iterieren
Iterieren Sie innerhalb des with-Blocks über stream.text_stream, um Text-Deltas zu empfangen, während Claude sie generiert. Jedes Element ist ein String, den Sie direkt ausgeben können.
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "Count to five."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)Die abschließende Nachricht abrufen
Rufen Sie nach dem Ende des Streamings stream.get_final_message() auf, um das vollständig zusammengesetzte Nachrichtenobjekt abzurufen, einschließlich der Nutzungsdaten und aller Inhaltsblöcke.
with client.messages.stream(model="claude-opus-4-8", max_tokens=1024,
messages=[{"role": "user", "content": "Hi"}]) as stream:
for text in stream.text_stream:
print(text, end="")
final = stream.get_final_message()Token-Verbrauch
Die Antwort enthält ein usage-Objekt mit input_tokens und output_tokens. Beachten Sie, dass sich die Bezeichnungen von OpenAI unterscheiden (dort werden prompt/completion verwendet), die Bedeutung aber gleich ist: Verfolgen Sie die Kosten pro Aufruf.
print(message.usage.input_tokens)
print(message.usage.output_tokens)Unterschiede zwischen OpenAI und Anthropic
Merken Sie sich die wichtigsten Unterschiede: Anthropic übergibt den System-Prompt als eigenen Parameter, verlangt max_tokens, liest den Text aus content[0].text und streamt über einen with-Context-Manager. Wenn Sie diese Unterschiede kennen, können Sie sicher zwischen den Anbietern wechseln.
Kurze Überprüfung
Testen Sie Ihr Wissen über Anthropic.
Rückblick: Claude in Python
Sie haben einen anthropic.Anthropic()-Client erstellt und messages.create() mit einem erforderlichen max_tokens und einem separaten system-Prompt aufgerufen. Antworten lesen Sie aus content[0].text; die Kosten verfolgen Sie über usage.input_tokens / output_tokens.
Für Streaming haben Sie client.messages.stream() als with-Context-Manager verwendet, über text_stream iteriert und das zusammengesetzte Ergebnis mit get_final_message() abgerufen.
Häufig gestellte Fragen
Ist die Lektion „Anthropic Claude API in Python“ kostenlos?
Ja — der vollständige Text von „Anthropic Claude API in Python“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Anthropic Claude API in Python“?
anthropic.Anthropic(), messages.create(), Content-Blöcke, Extended Thinking, Streaming. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Anthropic Claude API in Python“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- OpenAI API: chat.completions und Streaming
- Anthropic Claude API in Python
- Function Calling und Tool-Nutzung mit LLMs
- Prompt Engineering für produktive LLM-Apps