Anthropic Python SDK mit Claude Code: KI-Apps bauen 2026
Das Anthropic Python SDK ist die offizielle Bibliothek um Claude-Modelle in Python-Anwendungen zu integrieren — Messages API, Tool Use, Vision, Streaming und Batch-Verarbeitung. Claude Code kennt das SDK in- und auswendig und generiert produktionsreifen KI-Code.
Messages API: Grundlegend und leistungsstark
MessagesErste KI-App in 5 Minuten
# Prompt: "Erstelle eine Python-App die Texte auf Deutsch zusammenfasst"
import anthropic
client = anthropic.Anthropic() # Nutzt ANTHROPIC_API_KEY aus .env
def summarize(text: str, max_sentences: int = 3) -> str:
message = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
system="Du bist ein präziser Zusammenfasser. Antworte nur auf Deutsch.",
messages=[{
"role": "user",
"content": f"Fasse diesen Text in {max_sentences} Sätzen zusammen:\n\n{text}"
}]
)
return message.content[0].text
# Multi-Turn Conversation:
def chat(history: list, user_message: str) -> tuple:
history.append({"role": "user", "content": user_message})
response = client.messages.create(
model="claude-haiku-4-5-20251001", # Schnell + günstig für Chat
max_tokens=512,
messages=history
)
assistant_msg = response.content[0].text
history.append({"role": "assistant", "content": assistant_msg})
return assistant_msg, history
Tool Use: Claude handelt
Tool UseFunction Calling mit Python
# Prompt: "Erstelle einen Research-Assistenten der Websuche nutzen kann"
tools = [{
"name": "web_search",
"description": "Sucht aktuelle Informationen im Web",
"input_schema": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Suchanfrage"}
},
"required": ["query"]
}
}]
def research_agent(question: str) -> str:
messages = [{"role": "user", "content": question}]
while True:
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=4096,
tools=tools,
messages=messages
)
if response.stop_reason == "end_turn":
return response.content[0].text # Fertige Antwort
# Tool Use — Claude will suchen
tool_call = next(b for b in response.content if b.type == "tool_use")
search_result = perform_search(tool_call.input["query"])
messages += [
{"role": "assistant", "content": response.content},
{"role": "user", "content": [{
"type": "tool_result",
"tool_use_id": tool_call.id,
"content": search_result
}]}
]
Tool Use Pattern: Der While-Loop läuft bis
stop_reason == "end_turn" — Claude entscheidet selbst wann es genug Informationen hat. Keine feste Anzahl an Tool-Calls nötig.Streaming und Vision
StreamingAntworten in Echtzeit
# Streaming für bessere UX:
with client.messages.stream(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Erkläre Quantencomputing"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
# Vision — Bilder analysieren:
import base64
with open("screenshot.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode()
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{"type": "image", "source": {
"type": "base64", "media_type": "image/png",
"data": image_data
}},
{"type": "text", "text": "Was siehst du in diesem Screenshot?"}
]
}]
)
KI-Entwicklungsmodul im Kurs
Im Claude Code Mastery Kurs: vollständiges Anthropic SDK Modul — Messages API, Tool Use, Vision, Streaming, Batch-Verarbeitung und Prompt-Caching für effiziente KI-Anwendungen.
14 Tage kostenlos testen →