OpenAI API Python Eğitimi 2026 | APIMaster.ai
Kapsamlı OpenAI API Python eğitimi—SDK kurulumu, sohbet tamamlama, akış yanıtları, fonksiyon çağırma ve asenkron uygulamalar oluşturma. İndirimli erişim için APIMaster.ai ile çalışır.
OpenAI API Python Eğitimi
Bu eğitim, OpenAI API'sini Python ile kurulumdan ileri düzey kullanım senaryolarına kadar kapsar. Tüm örnekler APIMaster.ai ile çalışır—sadece api_key ve base_url değerlerini değiştirin.
Kurulum
pip install openai
Python 3.8+ gerektirir. openai paketi, OpenAI'in resmi Python SDK'sıdır (sürüm 1.x).
İlk Kurulum
from openai import OpenAI
client = OpenAI(
api_key="APIMASTER_ANAHTARINIZ",
base_url="https://apimaster.ai/v1",
)
Veya çevre değişkenlerini kullanın (önerilen):
export OPENAI_API_KEY="APIMASTER_ANAHTARINIZ"
export OPENAI_BASE_URL="https://apimaster.ai/v1"
from openai import OpenAI
client = OpenAI() # çevre değişkenlerini otomatik okur
Temel Sohbet Tamamlama
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "system", "content": "Sen bir Python uzmanısın."},
{"role": "user", "content": "Python'da generator nedir?"},
],
)
print(response.choices[0].message.content)
print(f"Kullanılan token: {response.usage.total_tokens}")
Akış Yanıtları
stream = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "Python'da ikili arama yaz."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
print()
Çok Adımlı Sohbetler
messages = [
{"role": "system", "content": "Sen yardımsever bir kodlama asistanısın."}
]
def gonder(kullanici_metni):
messages.append({"role": "user", "content": kullanici_metni})
resp = client.chat.completions.create(model="gpt-5.4", messages=messages)
yanit = resp.choices[0].message.content
messages.append({"role": "assistant", "content": yanit})
return yanit
print(gonder("Liste kavrayışlarını açıkla."))
print(gonder("Bana daha zor bir örnek ver."))
Yapılandırılmış Çıktı (JSON Modu)
Modeli geçerli JSON döndürmeye zorlayın:
import json
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{
"role": "user",
"content": "Şu metinden ad, e-posta ve şirketi çıkar: 'Jane Smith (jane@acme.com) ile Acme Corp.'da iletişime geçin.'",
}
],
response_format={"type": "json_object"},
)
data = json.loads(response.choices[0].message.content)
print(data) # {"name": "Jane Smith", "email": "jane@acme.com", "company": "Acme Corp"}
Fonksiyon Çağırma (Araç Kullanımı)
import json
tools = [
{
"type": "function",
"function": {
"name": "hisse_senedi_fiyati_al",
"description": "Bir hisse senedi sembolü için güncel fiyatı alır",
"parameters": {
"type": "object",
"properties": {
"sembol": {"type": "string", "description": "Hisse senedi sembolü, örn. AAPL"},
},
"required": ["sembol"],
},
},
}
]
messages = [{"role": "user", "content": "Apple hissesinin güncel fiyatı nedir?"}]
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
tools=tools,
tool_choice="auto",
)
# Araç çağrısını işle
if response.choices[0].finish_reason == "tool_calls":
tool_call = response.choices[0].message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
print(f"{tool_call.function.name} çağrılıyor: {args}")
# Fonksiyon sonucunu simüle et
result = {"sembol": args["sembol"], "fiyat": 189.50}
# Sonucu geri gönder
messages.append(response.choices[0].message)
messages.append({
"role": "tool",
"tool_call_id": tool_call.id,
"content": json.dumps(result),
})
final = client.chat.completions.create(model="gpt-5.4", messages=messages)
print(final.choices[0].message.content)
Gömme Vektörleri (Embeddings)
response = client.embeddings.create(
model="text-embedding-3-small",
input=["OpenAI API Python eğitimi", "Makine öğrenmesi temelleri"],
)
embeddings = [item.embedding for item in response.data]
print(f"Gömme vektörü boyutu: {len(embeddings[0])}")
Asenkron Kullanım
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(
api_key="APIMASTER_ANAHTARINIZ",
base_url="https://apimaster.ai/v1",
)
async def uret(prompt: str) -> str:
resp = await client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": prompt}],
)
return resp.choices[0].message.content
async def main():
# 5 isteği eşzamanlı çalıştır
prompts = [f"{i}. konsepti açıkla" for i in range(5)]
results = await asyncio.gather(*[uret(p) for p in prompts])
for r in results:
print(r[:100])
asyncio.run(main())
Hata Yönetimi
from openai import OpenAI, AuthenticationError, RateLimitError, APIError
import time
def guvenli_cagri(client, **kwargs):
for deneme in range(3):
try:
return client.chat.completions.create(**kwargs)
except AuthenticationError:
raise # Kimlik doğrulama hatalarını tekrar deneme
except RateLimitError:
time.sleep(2 ** deneme)
except APIError as e:
if e.status_code >= 500:
time.sleep(1)
else:
raise
raise RuntimeError("Maksimum deneme sayısı aşıldı")
Model Seçim Kılavuzu
| Görev | Model | Neden |
|---|---|---|
| Özetleme, sınıflandırma | gpt-4o-mini | Düşük maliyet |
| Genel kodlama, yazma | gpt-5.4 | En iyi denge |
| Karmaşık akıl yürütme | gpt-5.5 veya o3 | Yüksek yetenek |
| Toplu işleme | gpt-4o-mini veya gpt-5.4 | Kalite ve bütçeye göre seçin |
Sıkça Sorulan Sorular
OpenAI Python kütüphanesini nasıl kurarım?
pip install openai komutunu çalıştırın. APIMaster erişimi için ek bir paket gerekmez—sadece istemciyi başlatırken base_url ve api_key değerlerini ayarlayın.
OpenAI kütüphanesi için hangi Python sürümü gereklidir? Python 3.8 veya üzeri. Asenkron istemci, en iyi uyumluluk için Python 3.10+ gerektirir.
Python'da OpenAI API hız sınırlarını nasıl yönetirim?
Üstel geri çekilme (exponential backoff) kullanın—RateLimitError'ı yakalayın ve artan gecikmelerle tekrar deneyin. tenacity kütüphanesi bunu kolaylaştırır. APIMaster'ın yönlendirmesi ek kararlılık sağlar.
OpenAI Python kütüphanesini Claude modelleriyle kullanabilir miyim?
Evet—APIMaster aracılığıyla. base_url="https://apimaster.ai/v1" olarak ayarlayın ve claude-sonnet-4-6 gibi model ID'lerini kullanın. Yanıt formatı GPT yanıtlarıyla aynıdır.
Python'da asenkron OpenAI çağrılarını nasıl kullanırım?
OpenAI yerine AsyncOpenAI kullanın ve API çağrılarında await kullanın. Yukarıdaki kılavuzdaki asenkron örneğe bakın.