İlk Promptun: API ile Hands-on Lab
Anthropic ve OpenAI SDK'larıyla ilk API çağrını yap. Sistem mesajı, kullanıcı mesajı, parametreler ve hata yönetimi ile uçtan uca bir mini chatbot inşa et.
Şükrü Yusuf KAYA
15 min read
Beginnerİlk API Çağrın: Hands-on Lab
Teori bitti. Şimdi gerçek API'ye ilk isteği gönderiyoruz.
Bu ders için bir API anahtarı lazım. Anthropic veya OpenAI'dan birini öneririm. İlk 0.05 tüketir.
1. API Anahtarı Edin#
- console.anthropic.com → Sign up
- Plans & Billing → ödeme ekle ($5 başlangıç önerilir)
- API Keys → "Create Key" → kopyala
- Asla kodu Git'e commit etme; .env dosyasında sakla.
# .env ANTHROPIC_API_KEY=sk-ant-api03-...
2. SDK Kurulumu#
# Sanal ortam (önerilir) python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # SDK'lar pip install anthropic openai python-dotenv
3. İlk Çağrın#
python
# İlk API çağrısı — Claude ile "Merhaba Dünya"import osfrom anthropic import Anthropicfrom dotenv import load_dotenv load_dotenv() client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY")) response = client.messages.create( model="claude-haiku-4-5-20251001", max_tokens=200, system="Sen yardımsever bir Türk programlama mentorusun. Her cevabı kısa ve uygulamalı tut.", messages=[ {"role": "user", "content": "Python'da virgülle ayrılmış sayıları toplayan tek satır bir kod ver."} ],) print("=== Claude'un Yanıtı ===")print(response.content[0].text)print(f"\nKullanılan token: {response.usage.input_tokens} in / {response.usage.output_tokens} out") Çalıştırınca: kısa bir Python kodu + token raporu görmelisin.
4. Bileşenleri Anla#
5. Multi-Turn: Konuşmayı Sürdür#
python
# Multi-turn konuşma — geçmişi taşıyoruzimport osfrom anthropic import Anthropicfrom dotenv import load_dotenvload_dotenv() client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))history = [] def chat(user_msg: str) -> str: history.append({"role": "user", "content": user_msg}) r = client.messages.create( model="claude-haiku-4-5-20251001", max_tokens=300, system="Sen Türkçe konuşan, kısa ve net cevaplar veren bir mentorusun.", messages=history, ) reply = r.content[0].text history.append({"role": "assistant", "content": reply}) return reply print("Bot:", chat("Python list ve tuple farkı?"))print("Bot:", chat("İkisinden hangisi daha hızlı?")) # 'ikisinden' → context lazım!print("Bot:", chat("Bu farkı göstereyen 5 satırlık bir benchmark yaz.")) Üçüncü mesaj 'bu farkı' diyor — model context taşıdığı için anlıyor.
6. Hata Yönetimi#
python
from anthropic import Anthropic, APIError, RateLimitError, APIConnectionErrorimport time def call_with_retry(messages, max_retries=3): client = Anthropic() for attempt in range(max_retries): try: return client.messages.create( model="claude-sonnet-4-6", max_tokens=500, messages=messages, ) except RateLimitError: wait = 2 ** attempt # exponential backoff print(f"Rate limit. {wait}s bekleniyor...") time.sleep(wait) except APIConnectionError as e: print(f"Bağlantı hatası: {e}") time.sleep(1) except APIError as e: print(f"API hatası: {e}") raise raise Exception("Max retry aşıldı")Production-ready retry pattern
Güvenlik
Asla API anahtarını koda gömme veya repo'ya commit etme. Mutlaka environment variable veya secret manager (AWS Secrets, Vault) kullan. Sızdı mı? Hemen rotate et.
7. Pratik Egzersiz#
python
# EGZERSİZ:# Bir "Türk yemeği öneren" mini bot yap.# Kullanıcı bir bölge söylesin (Karadeniz, Ege, vb.),# bot 3 spesifik yemek + kısa açıklama versin.# JSON formatında dönsün: {"region": ..., "dishes": [{"name": ..., "description": ...}]} import os, jsonfrom anthropic import Anthropicfrom dotenv import load_dotenvload_dotenv() client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY")) def yemek_oneri(bolge: str) -> dict: # ⬇️ TODO: System prompt yaz system = "..." # ⬇️ TODO: User mesajı yaz user = "..." r = client.messages.create( model="claude-haiku-4-5-20251001", max_tokens=500, system=system, messages=[{"role": "user", "content": user}], ) return json.loads(r.content[0].text) print(yemek_oneri("Ege")) Frequently Asked Questions
Eğitim boyunca tüm derslerin toplam maliyeti $5-15 arasında. Anthropic console.anthropic.com'da spend limit koyabilirsin (önerilir).
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Bu Eğitim Hakkında ve Verimli Çalışma Yöntemi
Start Learning1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Yapay Zekâ → Üretken AI → LLM: Bağlamsal Harita
Start Learning1. Temeller — Yapay Zekâ ve LLM'lere Giriş