İçeriğe geç
Web Geliştirme

OpenAI Modelleri ve Python OpenAI API Kullanım Rehberi

Yayın tarihi 6 Ekim 2026 Yazar Kerem Kırbıyık 3 dk okuma
OpenAI API model seçimi, Responses API ve yapılandırılmış çıktı akış şeması

OpenAI platformu; geliştiricilerin metin, görsel, ses, yapılandırılmış çıktı ve araç çağırma iş akışlarını uygulamalarına entegre edebildiği bir API ekosistemidir. Model adları, fiyatlar, limitler ve SDK yöntemleri değişebildiği için üretim öncesinde resmi model ve fiyatlandırma dokümantasyonunu kontrol edin.

Farklı kullanım senaryolarına uygun model aileleri, Yapılandırılmış Çıktılar (Structured Outputs - JSON Schema), Araç Çağırma (Function / Tool Calling) ve güncel Python SDK yöntemleri birlikte değerlendirilmelidir. Eski bir model adını veya örnek API yüzeyini kopyalamadan önce güncel dokümanı doğrulayın.


1. OpenAI Model Ailesi Karşılaştırma Matrisi

[OpenAI Model Seçim Karar Ağacı]
  ├── 1. Hızlı ve düşük maliyetli toplu işlemler ──> [Güncel mini/fast model ailesi]
  ├── 2. Çok modlu ve genel görevler             ──> [Güncel genel amaçlı model ailesi]
  └── 3. Akıl yürütme ve karmaşık doğrulama      ──> [Güncel reasoning model ailesi]
Model AdıBağlam Penceresi (Context)Maliyet (Girdi/Çıktı / 1M)En İdeal Kullanım Alanı
Hızlı/m mini model ailesiGüncel dokümantasyona göreFiyat ve limitler modele göre değişirToplu sınıflandırma, özetleme ve veri temizleme.
Genel amaçlı model ailesiGüncel dokümantasyona göreFiyat ve limitler modele göre değişirÇok modlu analiz, yerelleştirme ve genel kodlama.
Reasoning model ailesiGüncel dokümantasyona göreFiyat ve limitler modele göre değişirKarmaşık planlama, doğrulama ve matematiksel görevler.
Embedding model ailesiGüncel dokümantasyona göreToken ve vektör boyutuna göre değişirSemantik arama, benzerlik ve RAG.

Bu tablo model adı veya fiyat yerine seçim mantığını sabit tutar. Güncel model kimliği, bağlam penceresi, gecikme, fiyat, rate limit ve yaşam döngüsü için OpenAI modelleri ve fiyatlandırma dokümantasyonunu kontrol edin.


2. Python SDK ile yapılandırılmış çıktı (Structured Outputs)

Responses API’de Pydantic modeli text_format olarak verip şemaya uygun yapılandırılmış yanıt isteyebilirsiniz. Şema uyumu anlamsal doğruluk, kaynakların doğruluğu veya iş kuralına uygunluk garantisi değildir. Güncel örnek ve desteklenen modeli resmi Structured Outputs belgesinden kontrol edin:

from openai import OpenAI
from pydantic import BaseModel
import os

client = OpenAI()  # OPENAI_API_KEY ortam değişkenini kullanır.
model = os.environ["OPENAI_MODEL"]  # Projede desteklenen güncel model kimliğini seçin.

# 1. Pydantic ile İstenen Kesin Çıktı Şemasını Tanımlayın:
class SEOMetaSchema(BaseModel):
  title: str
  meta_description: str
  keywords: list[str]
  intent: str

# 2. API Çağrısını Gerçekleştirin:
response = client.responses.parse(
  model=model,
  input=[
    {"role": "system", "content": "SEO meta verisi taslağı çıkar; kanıtlanmamış iddia ekleme."},
    {"role": "user", "content": "Konu: Core Web Vitals INP optimizasyonu."}
  ],
  text_format=SEOMetaSchema,
)

seo_data = response.output_parsed
if seo_data is None:
  raise ValueError("Yapılandırılmış çıktı alınamadı; ret veya eksik yanıtı ayrıca inceleyin.")
print(f"Title: {seo_data.title}")
print(f"Description: {seo_data.meta_description}")
print(f"Intent: {seo_data.intent}")

API, desteklenen JSON Schema biçiminde alan ve tür uyumunu sağlar; ret, eksik yanıt, iş kuralı ve olgusal doğruluk için uygulama tarafında ayrıca kontrol gerekir. Bu örnek çağrıyı burada canlı çalıştırdığımızı iddia etmez; SDK sürümünü ve model kimliğini kullandığınız ortamda doğrulayın.


3. Function / Tool Calling Yeteneği

Modele harici Python fonksiyonlarını (örneğin Search Console verisi alan bir işlevi) araç olarak tanımlayabilirsiniz. Model araç çağrısı isteyebilir; çağrıyı uygulama kodunuz doğrulayıp yürütür ve sonucu modele geri verir. İzin, kapsam ve hassas veri kontrolleri uygulamanın sorumluluğundadır; API anahtarını prompta koymayın.


Sıkça Sorulan Sorular

OpenAI API anahtarı nasıl güvenli saklanmalıdır?

API anahtarlarınızı asla GitHub’a veya kaynak kodun içine yazmayın; daima .env ortam değişkenlerinde veya AWS Secrets Manager / Cloudflare Secrets içinde saklayın.

API isteklerinde hız sınırı (Rate Limit) aşıldığında ne yapılmalıdır?

tenacity veya backoff Python kütüphaneleriyle Üstel Geri Çekilme (Exponential Backoff) mekanizması kurarak istekleri otomatik olarak yeniden denetin.


Stratejik Sonuç

API denemelerinde görev başına kalite, maliyet, gecikme ve hata davranışını birlikte değerlendirin. Üretime geçmeden önce veri erişimi, çıktı kontrolü ve geri dönüş akışını belgeleyin.

İlgili Yazılar

Bu yazı faydalı oldu mu?