OpenAI Modelleri ve OpenAI API Kullanımı
OpenAI, insan düzeyinde genel amaçlı yapay zeka yaratmayı hedefleyen dünyanın önde gelen AI araştırma şirketlerinden biridir.
OpenAI tarafından sunulan API'ler sayesinde, geliştiriciler bu güçlü yapay zeka yeteneklerinden kendi uygulamalarında kolaylıkla faydalanabilmektedir. OpenAI API'leri; metin üretimi, görüntü işleme, ses işleme, embeddings ve daha birçok farklı alanda kullanılabilmektedir.
OpenAI modelleri ve API’lerinin detaylarına geçmeden önce, kısaca API’ler ve çalışma prensipleri hakkında genel bir bilgi edinelim.
API Nedir ve API İstekleri Nasıl Çalışır?
API (Application Programming Interface - Uygulama Programlama Arayüzü), bir yazılımın yeteneklerini başka uygulamalar tarafından kullanılabilir hale getiren araçtır.
Başka bir deyişle, API bir yazılımın işlevlerini dış dünyaya açmasını sağlar. Örneğin, OpenAI API'leri, güçlü dil modellerinin yeteneklerini programcılar için erişilebilir kılar.
Peki API'ler nasıl çalışır? API'ler istemci-sunucu mimarisine dayanır:
- İstemci (örneğin sizin uygulamanız), API çağrısı yapar. Bu, JSON ya da XML formatında sunucuya bir istek göndermek demektir.
- Sunucu (örneğin OpenAI), gelen isteği alır ve ilgili işlemi gerçekleştirir.
- Daha sonra sunucu, sonucu yine JSON ya da XML formatında istemciye iletir.
- İstemci, aldığı cevabı yorumlar ve sonuçları kullanır.
- Böylelikle, API'ler farklı uygulamaların birbiriyle iletişim kurmasını ve etkileşime geçmesini mümkün kılar.
API’ların çalışma prensiplerine kısaca değindikten sonra birlikte OpenAI API’larında kullanabileceğimiz modelleri inceleyelim.
OpenAI Modelleri
OpenAI API farklı yeteneklere sahip ve farklı amaçlar için kullanılabilecek birçok model barındırıyor. Bu modellerin en popüler olanlarına kısaca değinelim.
GPT-3
GPT-3, OpenAI'ın eski nesil dil modelidir. GPT-3, metin üretme ve anlamada GPT-3.5 ve GPT-4'e göre daha sınırlı yetenektedir.
GPT-3'ün davinci, curie, babbage ve ada olmak üzere 4 alt modeli vardır. Davinci en güçlü GPT-3 modelidir.
Bu GPT-3 modellerinin token limitleri ise aşağıdaki gibidir.
- davinci: 2.049 token
- curie: 2.049 token
- babbage: 2.049 token
- ada: 2.049 token
GPT-3 modelleri artık yeni eğitim almamaktadır. Yeni nesil GPT-3.5 ve GPT-4 modelleri, GPT-3'ün yerini almıştır.
GPT-3.5-TURBO
GPT-3.5, metin üretme ve anlamada GPT-4'ten önceki en güçlü OpenAI modelidir. 4.097 token’lik input alabilir. Ayrıca GPT-3.5 modelinin 16K token limiti bulunan bir versiyonu mevcuttur.
GPT-3.5 modelleri:
- gpt-3.5-turbo: Chat odaklı temel GPT-3.5 modeli
- gpt-3.5-turbo-16k: 16.385 token input alabilen daha büyük context pencereli GPT-3.5 modeli
GPT-4
GPT-4, metin üretme ve anlamada en gelişmiş ve en yeni OpenAI modelidir. 8.192 tokenlik input alabilir.
GPT-4 modelleri:
- gpt-4: Chat odaklı temel GPT-4 modeli
- gpt-4-32k: 32.768 token input alabilen daha büyük context pencereli GPT-4 modeli
DALL-E
DALL-E, metin betimlemelerinden görüntü üretebilen görsel AI modelidir. Maksimum input uzunluğu kısıtlaması yoktur.
API aracılığıyla mevcut olan DALL-E modeli, orijinal modele göre daha gerçekçi, doğru ve çözünürlüğü 4 kat daha büyük olan DALL-E'nin 2 modeli ile güncellenmiştir.
Whisper
Whisper, konuşmayı metne çeviren AI modelidir. GPT-3 ailesine aittir ve sesi metne çok yüksek bir doğruluk oranıyla aktarabilme yeteneği nedeniyle çok popüler hale gelmiştir. Sadece İngilizce ile sınırlı değildir, yeteneği 50'den fazla dilde kullanılabilir. Ayrıca, herhangi bir dildeki sesi İngilizce'ye çevirebilir.
Diğer OpenAI ürünleri gibi, Whisper’ın da bir API’si bulunmaktadır.
Embeddings
Embedding modelleri metin inputlarını sayısal vektörlere dönüştürebilir. Embeddings için önerilen model text-embedding-ada-002 modelidir.
Diğer embeddings model isimleri:
- text-similarity-*-001
- text-search-*-*-001
- code-search-*-*-001
Bu modelleri API aracılığı ile kullanmak ve kendi uygulamalarımıza entegre etmek için OpenAI aracından bir API anahtarı edinmemiz gerekiyor. API modellerine geçmeden önce OpenAI API anahtarını nasıl elde edeceğimizi inceleyelim.
OpenAI API Anahtarını Nasıl Alabilirim?
OpenAI API anahtarı almak için yapmanız gerekenler:
- OpenAI websitesine gidin ve ücretsiz bir hesap oluşturun.
- Hesabınız onaylandıktan sonra giriş yapın ve sol taraftaki menüden API sekmesini seçin.
- "Create new secret key" butonuna tıklayarak yeni bir API anahtarı oluşturun.
- Açılan sayfada anahtarınızı kopyalayın. Bu anahtarı API isteklerinizde "Authorization" header'ında kullanacaksınız.
Artık OpenAI API'lerini kullanabilmek için gerekli anahtara sahipsiniz. Anahtarınızı kullanarak istekler gönderebilirsiniz.
İlk istekleriniz için OpenAI'nin ücretsiz kotası bulunmaktadır. Daha sonrasında kullanım miktarınıza göre ücretlendirme yapılacaktır.
API kullanımınızı ve maliyetleri OpenAI hesabınızın billing sekmesinden takip edebilirsiniz.
OpenAI API’leri ve Kullanım Alanları
OpenAI, geliştiricilere birçok API sunar. API’ler arasında en popüler olanlarını birlikte inceleyelim.
Completions API
Completions API, GPT tabanlı dil modelleri için metin üretme ve tamamlamada kullanılır. Kullanıcıdan alınan girdi metnini modele verir ve model bu metnin devamını üretir.
Completions API için uyumlu modeller:
- text-davinci-003
- text-davinci-002
- text-davinci-001
- text-curie-001
- text-babbage-001
- text-ada-001
- davinci
- curie
- babbage
- ada
Completions API, girdi metnini modele gönderir ve model bu metnin devamını üretir. Metin tamamlama, soru cevaplama gibi birçok görev için kullanılabilir.
Completions API için örnek bir cURL komutu:
model: Kullanılacak modelin adı.
prompt: Modelin metni tamamlaması için verilen girdi metni.
max_tokens: Üretilecek maksimum token sayısı.
Bu istek sonucunda OpenAI API’si bize aşağıdaki gibi bir yanıt ile dönecektir.
Completions API, GPT-3 tabanlı modeller için optimize edilmiştir.
Completions API ile GPT3 modelini kullanmak yerine; daha gelişmiş yeteneklere sahip GPT-3.5 ve GPT-4 dillerini kullanabileceğiniz chat completions API kullanmanızı tavsiye ederim.
Chat Completion API
Chat completion API, kullanıcı ve AI asistan arasında konuşma şeklinde etkileşim sağlar. User ve system rolleri ile mesajlar gönderilir.
Chat completion API için uyumlu modeller:
- gpt-4
- gpt-3.5-turbo
- gpt-3.5-turbo-16k
Chat Completions API için örnek bir cURL komutu:
model: Kullanılacak modelin adı.
messages: Kullanıcı ve asistan mesajları.
Bu istek sonucunda OpenAI API’si bize aşağıdaki gibi bir yanıt ile dönecektir.
Yanıt olarak üretilen mesajın yanı sıra, bitiş nedeni, kullanılan token sayısı gibi meta veriler de döndürülür.
Chat completion API, GPT-3.5 ve GPT-4 gibi konuşma odaklı modellerle kullanım için optimize edilmiştir. Doğal sohbet deneyimleri sunar.
Embeddings API
Embeddings API, metinleri vektörlere dönüştürerek benzerlik ölçümü ve ilişki tespiti yapar.
Embeddings API için uyumlu modeller:
- text-embedding-ada-002
- text-similarity-*-001
- text-search-*-*-001
- code-search-*-*-001
Embeddings API, metinleri sayısal vektörler olarak gösteren embeddings üretir.
Embeddings API için örnek bir cURL komutu:
input: Vektöre dönüştürülecek metin.
model: Kullanılacak modelin adı.
Bu istek sonucunda OpenAI API’si bize aşağıdaki gibi bir yanıt ile dönecektir.
Üretilen vektörler metinler arası benzerlik hesaplamaları için kullanılabilir. Arama, sınıflandırma, kümeleme gibi birçok görev için idealdir.
text-embedding-ada-002 modeli ücret/performans açısından en iyisidir.
Images API
Images API, doğal dil betimlemelerinden görseller üretir. Kullanıcının verdiği metin ipucundan yola çıkarak fotoğrafik görüntüler oluşturabilir.
Images API, doğal dil betimlemelerini girdi olarak alır ve bunlardan görseller üretir.
Images API için örnek bir cURL komutu:
prompt: Üretilecek görüntüyü tanımlayan metin.
n: Üretilecek görüntü sayısı.
size: Görüntü boyutu.
Bu istek sonucunda OpenAI API’si bize aşağıdaki gibi bir yanıt ile dönecektir.
Üretilen görüntülerin URL'leri ve diğer metadata döndürülür. Farklı boyutlarda görüntü üretmek mümkündür.
Image API, özellikle DALL-E modeliyle birlikte çok başarılı sonuçlar verir. Kullanıcının hayal gücüne dayalı görüntüler oluşturmak için oldukça elverişlidir.
Moderation API
Moderation API, metinlerde nefret söylemi, tehdit, intihar v.b. içerikleri tespit ederek moderasyon sağlar. Kullanıcı içeriğini filtrelemek için kullanılabilir.
Moderation API için uyumlu modeller:
- text-moderation-stable
- Text-moderation-latest
Moderation API için örnek bir cURL komutu:
Bu istek sonucunda OpenAI API’si bize aşağıdaki gibi bir yanıt ile dönecektir.
Whisper API
Whisper adlı konuşma-metin modelini kullanarak ses dosyalarını metne çevirmeyi sağlar. Çok dilli konuşmayı metne dökme yeteneğine sahiptir.
Whisper API, ses dosyalarını girdi olarak alır ve bunları metne dönüştürür.
Whisper API için örnek bir cURL komutu:
model: Kullanılacak modelin adı.
file: Ses dosyası
Bu istek sonucunda OpenAI API’si bize aşağıdaki gibi bir yanıt ile dönecektir.
Sesi metne çevirmede çok yüksek doğruluk sağlayan Whisper modeli kullanılır. Birçok farklı dil desteklenmektedir. Uzun ses kayıtları için böl ve birleştir yöntemi kullanılabilir.
OpenAI Model & API Uyumluluğu
OpenAI modellerinin hangi API’ler için uyumlu olduğuna aşağıdaki tablodan ulaşabilirsiniz.
API |
Endpoint |
Models |
Whisper |
/v1/audio/transcriptions |
whisper-1 |
Whisper |
/v1/audio/translations |
whisper-1 |
Completions |
/v1/completions (Legacy) |
text-davinci-003, text-davinci-002, text-davinci-001, text-curie-001, text-babbage-001, text-ada-001, davinci, curie, babbage, ada |
Chat Completion |
/v1/chat/completions |
gpt-4, gpt-4-0613, gpt-4-32k, gpt-4-32k-0613, gpt-3.5-turbo, gpt-3.5-turbo-0613, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613 |
Embeddings |
/v1/embeddings |
text-embedding-ada-002, text-similarity-*-001, text-search-*-*-001, code-search-*-*-001 |
Moderation |
/v1/moderations |
text-moderation-stable, text-moderation-latest |
Özetle,
- OpenAI'nin güçlü yapay zeka yeteneklerine sahip çeşitli modelleri bulunuyor. Bunlar metin, görüntü, ses gibi farklı alanlarda uzmanlaşmış modeller.
- Bu modeller için özel geliştirilmiş API'ler sunuluyor. API'ler sayesinde geliştiriciler kolaylıkla modelleri kullanabiliyor.
- En popüler modeller arasında GPT-3.5, GPT-4, DALL-E, Whisper gibi isimler yer alıyor.
- Modeller için Completions, Chat Completions, Images, Embeddings, Moderations, Whisper gibi API'ler mevcut.
- OpenAI API ve modelleri, yenilikçi uygulamalar geliştirmek için büyük bir potansiyele sahip.
OpenAI modellerine ve API’leri için detaylı bilgilere aşağıdaki adreslerden de kolayca ulaşabilirsiniz.
Umarım sizler için faydalı bir içerik olmuştur. API’ler ile oluşturacağınız otomasyonlar sayesinde günlük işlerinizin hızlanması dileğiyle…