0Pricing
Learn AI with Python · Lekcja

Anthropic Claude API w Pythonie

anthropic.Anthropic(), messages.create(), bloki content, rozszerzone rozumowanie, przesyłanie strumieniowe.

Anthropic Claude API w Pythonie to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

SDK Anthropic

Modele Claude firmy Anthropic są dostępne za pośrednictwem pakietu Python anthropic. Instalacja odbywa się za pomocą polecenia pip install anthropic. Claude wyróżnia się rozumowaniem na podstawie długiego kontekstu, dokładnym wykonywaniem instrukcji oraz obsługą narzędzi.

pip install anthropic

import anthropic

Tworzenie klienta

Klienta należy utworzyć za pomocą anthropic.Anthropic(). Domyślnie odczytuje on klucz ze zmiennej środowiskowej ANTHROPIC_API_KEY, dzięki czemu dane uwierzytelniające pozostają poza kodem.

import anthropic

client = anthropic.Anthropic()

# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")

Messages API

Claude korzysta z client.messages.create(). W przeciwieństwie do OpenAI prompt systemowy jest osobnym parametrem, a nie wiadomością na liście. Lista messages zawiera wyłącznie wiadomości użytkownika i asystenta.

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 jest wymagany

Kluczowa różnica polega na tym, że w API Anthropic parametr max_tokens jest wymagany. Ogranicza on liczbę tokenów, które Claude może wygenerować w odpowiedzi. Należy ustawić go na wartość wystarczająco dużą dla oczekiwanego wyniku, ale parametr ten chroni również przed niekontrolowanym wzrostem kosztów.

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2048,
    messages=[{"role": "user", "content": "Write a haiku about Python."}]
)

Odczytywanie odpowiedzi

Claude zwraca listę content zawierającą bloki. W przypadku zwykłego tekstu odpowiedź znajduje się w message.content[0].text. Jest to lista, ponieważ odpowiedź może zawierać wiele bloków, na przykład tekst oraz żądanie użycia narzędzia.

print(message.content[0].text)

# Inspect block type
print(message.content[0].type)  # "text"

Historia rozmowy

Podobnie jak inne API czatowe, Claude nie zachowuje stanu. Aby kontynuować rozmowę, należy samodzielnie dopisać odpowiedź asystenta i kolejną wiadomość użytkownika do 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"})

Strumieniowanie za pomocą menedżera kontekstu

Do wyświetlania danych w czasie rzeczywistym Claude udostępnia client.messages.stream(), którego używa się jako menedżera kontekstu wraz z instrukcją with. Gwarantuje to bezpieczne otwarcie i zamknięcie połączenia.

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    pass  # iterate inside

Iterowanie po strumieniu tekstu

Wewnątrz bloku with należy iterować po stream.text_stream, aby odbierać delty tekstu w miarę ich generowania przez Claude. Każdy element jest ciągiem znaków gotowym do wyświetlenia.

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)

Pobieranie końcowej wiadomości

Po zakończeniu strumieniowania należy wywołać stream.get_final_message(), aby pobrać kompletny, złożony obiekt wiadomości zawierający dane o użyciu oraz pełne bloki treści.

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()

Użycie tokenów

Odpowiedź zawiera obiekt usage z polami input_tokens i output_tokens. Należy zauważyć, że nazewnictwo różni się od stosowanego przez OpenAI (gdzie używa się nazw prompt/completion), ale znaczenie pozostaje takie samo: śledzenie kosztu każdego wywołania.

print(message.usage.input_tokens)
print(message.usage.output_tokens)

Różnice między OpenAI a Anthropic

Najważniejsze różnice: Anthropic umieszcza prompt systemowy we własnym parametrze, wymaga parametru max_tokens, odczytuje tekst z content[0].text i strumieniuje dane za pomocą menedżera kontekstu with. Znajomość tych różnic pozwala swobodnie przełączać się między dostawcami.

Szybki test

Sprawdź swoją wiedzę o Anthropic.

Podsumowanie: Claude w Pythonie

Utworzyli Państwo klienta anthropic.Anthropic() i wywołali messages.create(), podając wymagany parametr max_tokens oraz osobny prompt system. Odpowiedzi odczytuje się z content[0].text, a koszt śledzi za pomocą usage.input_tokens / output_tokens.

W przypadku strumieniowania użyli Państwo client.messages.stream() jako menedżera kontekstu with, iterowali po text_stream i pobrali złożony wynik za pomocą get_final_message().

Często zadawane pytania

Czy lekcja „Anthropic Claude API w Pythonie” jest bezpłatna?

Tak — pełny tekst „Anthropic Claude API w Pythonie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Anthropic Claude API w Pythonie”?

anthropic.Anthropic(), messages.create(), bloki content, rozszerzone rozumowanie, przesyłanie strumieniowe. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Anthropic Claude API w Pythonie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?

Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. OpenAI API: chat.completions i przesyłanie strumieniowe
  2. Anthropic Claude API w Pythonie
  3. Wywoływanie funkcji i używanie narzędzi z LLM
  4. Projektowanie promptów dla produkcyjnych aplikacji LLM
← Powrót do Learn AI with Python