APIMaster.ai

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.

APIMaster üzerinden OpenAI API erişimi alın →