OpenAI SDK ile İlk Uygulaman: 15 Dakikada Başlangıç
Bir yapay zeka modelini uygulamanıza entegre etmek eskisi kadar uzun sürmüyor. OpenAI SDK, Python ve JavaScript ekosistemlerinde yerleşik destek sunmasıyla öne çıkar ve geliştiricilerin dakika içinde ileri düzey AI yeteneklerini projelerine eklemesini sağlar. Bu rehber, OpenAI SDK'nın temel yapısını kavramanıza ve ilk komutunuzu almanıza yardımcı olacak pratik adımları içerir.
Neden OpenAI SDK?
OpenAI SDK, yapay zeka modellerine programlı erişim için endüstri standardı araçlardan biridir. REST API ile doğrudan iletişim kurmanın getirdiği karmaşıklığı büyük ölçüde azaltır. Otomatik hata yönetimi, istek zaman aşımı ayarları, yeniden deneme mekanizmaları ve akış (streaming) desteği gibi özellikler, SDK'nın API'den en büyük farkını oluşturur. Ayrıca Python ve JavaScript için bağımsız paketler sunması, çoğu geliştiricinin zaten tanıdığı bir dilde çalışma imkânı tanır.
SDK'nın sunduğu en önemli kolaylıklardan biri, OpenAI uyumlu (OpenAI-compatible) API uç noktalarına doğrudan bağlanabilmesidir. Bu sayede API anahtarınız ve uç nokta (base URL) ayarlarınızı değiştirdiğinizde, kodunuzda büyük değişiklik yapmanıza gerek kalmaz.
SDK Kurulumu ve İlk Adımlar
Python kullanıyorsanız, pip üzerinden kurulum tek satırda tamamlanır:
pip install openai
JavaScript/Node.js projesi içinse:
npm install openai
Kurulum tamamlandıktan sonra ortam değişkeni olarak API anahtarınızı tanımlamanız gerekir. Anahtarı kodunuza doğrudan yazmak güvenlik riski taşıdığından .env dosyası ile yönetmeniz önerilir.
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ.get("API_KEY"))
Bu temel yapılandırma, SDK'nın istek göndermeye hazır olmasını sağlar.
İlk Komutun Gönderilmesi
OpenAI SDK ile bir mesaj göndermek son derece basittir. chat.completions.create yöntemi, model adını ve kullanıcı mesajını parametre olarak alır ve modelin yanıtını döndürür.
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Python'da bir faktöriyel fonksiyonu yazar mısın?"}]
)
print(response.choices[0].message.content)
Bu örnek, modelden kısa bir kod parçası istemenizi sağlar. SDK, yanıtları JSON formatında otomatik olarak işler ve hata durumlarında okunabilir istisnalar (exceptions) fırlatır.
Akış modunu (streaming) etkinleştirmek için stream=True parametresini eklemeniz yeterlidir. Bu sayede model yanıtı parça parça alınır ve kullanıcıya anlık olarak gösterilebilir. Özellikle uzun metin üreten uygulamalarda akış modu, deneyimi önemli ölçüde iyileştirir.
Hata Yönetimi ve İyi Uygulamalar
SDK, bağlantı sorunlarında, rate limit hatalarında ve geçersiz isteklerde otomatik olarak hata sınıfları döndürür. Örneğin RateLimitError, istek sıklığının aşıldığını; AuthenticationError, anahtarın geçersiz olduğunu belirtir. Production ortamında bu hataları try-except bloklarıyla yakalamak ve uygun geri bildirim döndürmek önemlidir.
Ayrıca istek maliyetlerini takip etmek için model adlarını ve token sayılarını loglamak faydalıdır. Geliştirme aşamasında daha hızlı ve uygun maliyetli modelleri tercih etmek, ürünün olgunlaşmasından sonra daha güçlü modellere geçiş yapmak iyi bir stratejidir.
Apicloud ile Bu Modelleri Kullanmak
OpenAI SDK ile entegrasyon kurduğunuzda, API anahtarınızı ve uç noktanızı değiştirerek farklı platformlara geçiş yapabilirsiniz. Apicloud (apicloud.com.tr), OpenAI uyumlu altyapısı sunarak bu geçişi kolaylaştıran bir seçenek olup, TL bakiye sistemi sayesinde Türkiye'deki geliştiricilerin yerel ödeme seçenekleriyle erişimini mümkün kılar. Geliştirdiğiniz uygulama için tek bir API anahtarıyla birden fazla modeli denemek istediğinizde, SDK'nın esnek yapısı sayesinde sadece istemci konfigürasyonunu güncellemeniz yeterli olur.
Sık Sorulan Sorular
OpenAI SDK hangi dillerde mevcuttur?
Python ve JavaScript (Node.js) için resmi SDK'lar bulunmaktadır; diğer diller için de REST API doğrudan kullanılabilir.
API anahtarımı nereye saklamalıyım?
Anahtarı kodunuza doğrudan yazmak yerine .env gibi bir dosyada saklayıp ortam değişkeni olarak okuyun; bu, güvenlik açısından en güvenli yaklaşımdır.
Streaming modu nedir ve ne zaman kullanmalıyım?
Streaming modu, modelin yanıtını parça parça almanızı sağlar. Uzun metin üreten uygulamalarda kullanıcı deneyimini iyileştirmek için kullanılmalıdır.