Anthropic Claude API i Python
anthropic.Anthropic(), messages.create(), content blocks, extended thinking, streaming.
Anthropic Claude API i Python er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Anthropic-SDK'et
Anthropics Claude-modeller tilgås via Python-pakken anthropic. Installér med pip install anthropic. Claude er stærk til ræsonnering med lang kontekst, omhyggelig instruktionsefterlevelse og brug af værktøjer.
pip install anthropic
import anthropicOpret klienten
Opret klienten med anthropic.Anthropic(). Den læser som standard din nøgle fra miljøvariablen ANTHROPIC_API_KEY, så legitimationsoplysningerne holdes ude af koden.
import anthropic
client = anthropic.Anthropic()
# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")Messages-API'et
Claude bruger client.messages.create(). I modsætning til OpenAI er systemprompten en separat parameter og ikke en meddelelse i listen. Listen med messages indeholder kun bruger- og assistentomgange.
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 er påkrævet
En vigtig forskel er, at max_tokens er obligatorisk i Anthropic-API'et. Den begrænser, hvor mange tokens Claude må generere i sit svar. Sæt den højt nok til det forventede resultat, men den beskytter også mod løbske omkostninger.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=2048,
messages=[{"role": "user", "content": "Write a haiku about Python."}]
)Læs svaret
Claude returnerer en liste med content-blokke. Ved almindelig tekst findes svaret på message.content[0].text. Det er en liste, fordi et svar kan indeholde flere blokke, f.eks. tekst samt en anmodning om værktøjsbrug.
print(message.content[0].text)
# Inspect block type
print(message.content[0].type) # "text"Samtalehistorik
Ligesom andre chat-API'er er Claude tilstandsløs. Hvis du vil fortsætte en samtale, skal du selv føje assistentens svar og den næste brugeromgang til messages.
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 med en kontekstmanager
Til resultater i realtid tilbyder Claude client.messages.stream(), der bruges som en kontekstmanager sammen med with-sætningen. Det åbner og lukker forbindelsen sikkert.
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "Count to five."}]
) as stream:
pass # iterate insideGennemløb tekststreamen
Inde i with-blokken skal du gennemløbe stream.text_stream for at modtage tekstdeltaer, efterhånden som Claude genererer dem. Hvert element er en streng, der er klar til at blive udskrevet.
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)Hent den endelige meddelelse
Når streamingen er færdig, skal du kalde stream.get_final_message() for at hente det komplette, samlede meddelelsesobjekt, inklusive forbrugsdata og de fulde indholdsblokke.
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()Tokenforbrug
Svaret indeholder et usage-objekt med input_tokens og output_tokens. Bemærk, at navngivningen adskiller sig fra OpenAI, som bruger prompt/completion, men betydningen er den samme: Hold styr på omkostningen pr. kald.
print(message.usage.input_tokens)
print(message.usage.output_tokens)Forskelle på OpenAI og Anthropic
Husk disse vigtige forskelle: Anthropic placerer systemprompten i sin egen parameter, kræver max_tokens, læser tekst fra content[0].text og streamer via en with-kontekstmanager. Når du kender dem, kan du trygt skifte mellem udbydere.
Hurtigt tjek
Test din viden om Anthropic.
Opsummering: Claude i Python
Du oprettede en anthropic.Anthropic()-klient og kaldte messages.create() med en påkrævet max_tokens og en separat system-prompt. Du læste svar fra content[0].text og holdt styr på omkostningerne via usage.input_tokens / output_tokens.
Til streaming brugte du client.messages.stream() som en with-kontekstmanager, gennemløb text_stream og hentede det samlede resultat med get_final_message().
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “Anthropic Claude API i Python” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Anthropic Claude API i Python”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Anthropic Claude API i Python”?
anthropic.Anthropic(), messages.create(), content blocks, extended thinking, streaming. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Anthropic Claude API i Python”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- OpenAI API: chat.completions og streaming
- Anthropic Claude API i Python
- Function calling og tool use med LLM'er
- Prompt engineering til LLM-apps i produktion