Python'da Anthropic Claude API'si
anthropic.Anthropic(), messages.create(), içerik blokları, genişletilmiş düşünme, akış.
Python'da Anthropic Claude API'si, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Anthropic SDK
Anthropic'in Claude modellerine anthropic Python paketi üzerinden erişilir. pip install anthropic ile yükleyin. Claude; uzun bağlamlı akıl yürütme, talimatları dikkatle izleme ve araç kullanımı konularında başarılıdır.
pip install anthropic
import anthropicİstemci Oluşturma
İstemciyi anthropic.Anthropic() ile oluşturun. Bu istemci, anahtarınızı varsayılan olarak ANTHROPIC_API_KEY ortam değişkeninden okur ve kimlik bilgilerini kodun dışında tutar.
import anthropic
client = anthropic.Anthropic()
# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")Messages API
Claude, client.messages.create() kullanır. OpenAI'den farklı olarak sistem istemi ayrı bir parametredir; listedeki bir mesaj değildir. messages listesinde yalnızca kullanıcı ve asistan turları bulunur.
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 Zorunludur
Önemli bir fark şudur: Anthropic API'sinde max_tokens zorunludur. Bu değer, Claude'un yanıtında üretebileceği belirteç sayısını sınırlar. Beklenen çıktınız için yeterince yüksek bir değer belirleyin; ancak bu değer kontrolden çıkan maliyetlere karşı da koruma sağlar.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=2048,
messages=[{"role": "user", "content": "Write a haiku about Python."}]
)Yanıtı Okuma
Claude, bloklardan oluşan bir content listesi döndürür. Düz metin için yanıt message.content[0].text konumundadır. Bir yanıt metin ve araç kullanma isteği gibi birden fazla blok içerebileceği için bu bir listedir.
print(message.content[0].text)
# Inspect block type
print(message.content[0].type) # "text"Görüşme Geçmişi
Diğer sohbet API'leri gibi Claude da durum bilgisi tutmaz. Bir görüşmeyi sürdürmek için asistan yanıtını ve sonraki kullanıcı turunu kendiniz messages içine append etmelisiniz.
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"})Bağlam Yöneticisiyle Akışla İletim
Gerçek zamanlı çıktı için Claude, client.messages.stream() işlevini with ifadesiyle kullanılan bir bağlam yöneticisi olarak sunar. Bu, bağlantının güvenli şekilde açılıp kapatılmasını sağlar.
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "Count to five."}]
) as stream:
pass # iterate insideMetin Akışı Üzerinde Yineleme
with bloğunun içinde stream.text_stream üzerinde döngü kurarak Claude bunları üretirken metin değişimlerini alın. Her öğe yazdırılmaya hazır bir dizedir.
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)Son Mesajı Alma
Akış tamamlandıktan sonra kullanım verilerini ve tüm içerik bloklarını da içeren, bütünüyle birleştirilmiş mesaj nesnesini almak için stream.get_final_message() çağrısını yapın.
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()Belirteç Kullanımı
Yanıt, input_tokens ve output_tokens içeren bir usage nesnesi taşır. Adlandırmanın, prompt/completion kullanan OpenAI'den farklı olduğuna dikkat edin; ancak anlam aynıdır: her çağrının maliyetini izlemek.
print(message.usage.input_tokens)
print(message.usage.output_tokens)OpenAI ve Anthropic Arasındaki Farklar
Hatırlamanız gereken temel farklar şunlardır: Anthropic, sistem istemini kendi parametresine koyar, max_tokens gerektirir, metni content[0].text değerinden okur ve akışla iletim için with bağlam yöneticisini kullanır. Bunları bilmek, sağlayıcılar arasında güvenle geçiş yapmanızı sağlar.
Hızlı Kontrol
Anthropic bilginizi sınayın.
Özet: Python'da Claude
Bir anthropic.Anthropic() istemcisi oluşturdunuz ve zorunlu max_tokens ile ayrı bir system istemini kullanarak messages.create() çağrısı yaptınız. Yanıtları content[0].text değerinden okudunuz ve maliyeti usage.input_tokens / output_tokens aracılığıyla izlediniz.
Akışla iletim için client.messages.stream() işlevini with bağlam yöneticisi olarak kullandınız, text_stream üzerinde yineleme yaptınız ve birleştirilmiş sonucu get_final_message() ile aldınız.
Sıkça Sorulan Sorular
“Python'da Anthropic Claude API'si” dersi ücretsiz mi?
Evet — “Python'da Anthropic Claude API'si” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Python'da Anthropic Claude API'si” dersinde ne öğreneceğim?
anthropic.Anthropic(), messages.create(), içerik blokları, genişletilmiş düşünme, akış. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Python'da Anthropic Claude API'si” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- OpenAI API: chat.completions ve Akış
- Python'da Anthropic Claude API'si
- LLM'lerle İşlev Çağırma ve Araç Kullanımı
- Üretim LLM Uygulamaları için İstem Mühendisliği