Samouczek API Claude w Pythonie 2026 | APIMaster.ai
Jak korzystać z API Claude w Pythonie. Kompletne przykłady z użyciem SDK Anthropic i klienta kompatybilnego z OpenAI – czat, strumieniowanie, wizja i wywoływanie funkcji – za pośrednictwem APIMaster.ai.
Samouczek API Claude w Pythonie
Ten przewodnik omawia korzystanie z API Claude w Pythonie zarówno z natywnym SDK Anthropic, jak i klientem kompatybilnym z OpenAI. Wszystkie przykłady działają z APIMaster.ai – zamień własny bazowy adres URL i klucz API.
Instalacja
pip install anthropic # Natywne SDK Anthropic
pip install openai # Kompatybilne z OpenAI (opcjonalnie)
Podstawowa konfiguracja
import anthropic
client = anthropic.Anthropic(
api_key="TWOJ_KLUCZ_APIMASTER",
base_url="https://apimaster.ai", # Bez /v1 dla SDK Anthropic
)
Lub z SDK OpenAI (łatwiej, jeśli już używasz OpenAI):
from openai import OpenAI
client = OpenAI(
api_key="TWOJ_KLUCZ_APIMASTER",
base_url="https://apimaster.ai/v1",
)
Twoje pierwsze wywołanie API Claude
import anthropic
client = anthropic.Anthropic(
api_key="TWOJ_KLUCZ_APIMASTER",
base_url="https://apimaster.ai",
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Wyjaśnij różnicę między listami a krotkami w Pythonie."}
],
)
print(message.content[0].text)
Prompt systemowy
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=512,
system="Jesteś starszym inżynierem Pythona. Bądź zwięzły i używaj przykładów kodu.",
messages=[
{"role": "user", "content": "Jaki jest najszybszy sposób na spłaszczenie zagnieżdżonej listy?"}
],
)
print(response.content[0].text)
Konwersacja wieloetapowa
conversation = []
def chat(user_message):
conversation.append({"role": "user", "content": user_message})
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=conversation,
)
assistant_message = response.content[0].text
conversation.append({"role": "assistant", "content": assistant_message})
return assistant_message
print(chat("Czym jest dekorator w Pythonie?"))
print(chat("Czy możesz pokazać praktyczny przykład?"))
Odpowiedzi strumieniowane
Strumieniowanie zwraca tokeny w miarę ich generowania – lepsze UX dla długich odpowiedzi:
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Napisz web scraper w Pythonie używając requests i BeautifulSoup."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
print() # nowa linia na końcu
Wizja: Analiza obrazów
Claude Sonnet i Opus obsługują obrazy (base64 lub URL):
import base64
with open("wykres.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=512,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image_data,
},
},
{"type": "text", "text": "Podsumuj, co pokazuje ten wykres."},
],
}
],
)
print(response.content[0].text)
Używanie narzędzi (wywoływanie funkcji)
tools = [
{
"name": "get_weather",
"description": "Pobierz aktualną pogodę dla miasta",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "Nazwa miasta"},
},
"required": ["city"],
},
}
]
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=256,
tools=tools,
messages=[{"role": "user", "content": "Jaka jest pogoda w Tokio?"}],
)
# Sprawdź, czy Claude chce użyć narzędzia
if response.stop_reason == "tool_use":
tool_call = next(b for b in response.content if b.type == "tool_use")
print(f"Narzędzie: {tool_call.name}, Wejście: {tool_call.input}")
Użycie asynchroniczne
import asyncio
import anthropic
async def main():
client = anthropic.AsyncAnthropic(
api_key="TWOJ_KLUCZ_APIMASTER",
base_url="https://apimaster.ai",
)
response = await client.messages.create(
model="claude-sonnet-4-6",
max_tokens=256,
messages=[{"role": "user", "content": "Cześć!"}],
)
print(response.content[0].text)
asyncio.run(main())
Obsługa błędów
import anthropic
try:
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=256,
messages=[{"role": "user", "content": "Cześć"}],
)
except anthropic.AuthenticationError:
print("Nieprawidłowy klucz API")
except anthropic.RateLimitError:
print("Limit żądań – dodaj logikę ponawiania")
except anthropic.APIStatusError as e:
print(f"Błąd API {e.status_code}: {e.message}")
Wybór odpowiedniego modelu Claude do projektów w Pythonie
| Zadanie | Model | Powód |
|---|---|---|
| Chatboty, pytania i odpowiedzi | claude-haiku-4-5 | Szybki + tani |
| Generowanie kodu | claude-sonnet-4-6 | Najlepszy balans |
| Złożone rozumowanie | claude-opus-4-8 | Najwyższa dokładność |
| Analiza dokumentów | claude-sonnet-4-6 | Kontekst 1M |
Uzyskaj dostęp do API Claude
Zarejestruj się w APIMaster.ai, aby uzyskać dostęp do API Claude przez jeden zunifikowany endpoint, z bieżącymi cenami i danymi weryfikacji odcisków palców.
Często zadawane pytania
Jak zainstalować bibliotekę Python API Claude?
Uruchom pip install anthropic dla oficjalnego SDK lub pip install openai, aby użyć kompatybilnego z OpenAI endpointu APIMaster z modelami Claude.
Którego SDK Python powinienem użyć dla API Claude?
SDK anthropic jest oficjalnym wyborem i obsługuje wszystkie specyficzne dla Claude funkcje (używanie narzędzi, wizja, strumieniowanie). SDK openai działa przez warstwę kompatybilności APIMaster – przydatne, jeśli już używasz OpenAI i chcesz zmienić modele.
Jak strumieniować odpowiedzi API Claude w Pythonie?
Użyj stream=True z biblioteką openai lub client.messages.stream() z SDK anthropic. Zobacz przykład strumieniowania powyżej.
Czy API Claude obsługuje wywoływanie funkcji (używanie narzędzi)?
Tak – Claude obsługuje używanie narzędzi zarówno w natywnym SDK Anthropic, jak i przez kompatybilny z OpenAI endpoint APIMaster, używając standardowego parametru tools.
Jaki jest maksymalny kontekst dla Claude w Pythonie?
Claude Sonnet 4.6 i Opus 4.8 obsługują po 1 mln tokenów. Możesz przekazywać bardzo długie dokumenty bezpośrednio w tablicy messages.
Zobacz też: Cennik API Claude · Jak uzyskać klucz API Claude