OpenAI API ile Uygulama Geliştirme: Adım Adım Rehber
Beceri rehberi

OpenAI API ile Uygulama Geliştirme: Adım Adım Rehber

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 5 dk okuma

OpenAI API ile uygulama geliştirmenin adımları: mimari, sohbet çağrıları, fonksiyon çağırma, maliyet yönetimi, güvenlik ve üretime alma.

OpenAI API ile ne geliştirilebilir?

OpenAI API, dil modellerine kendi yazılımınızdan istek göndermenizi ve yanıtı uygulamanıza katmanızı sağlar. Metin üretme, özetleme, sınıflandırma, bilgi çıkarma, çeviri ve sohbet arayüzleri tipik kullanım alanlarıdır. Modelin araç çağırabilmesi sayesinde yazılımınızdaki fonksiyonlarla da konuşan asistanlar kurulabilir.

API arayüzleri, modeller ve fiyat politikaları zamanla değiştiği için uygulama yazarken güncel resmî dokümantasyon temel alınmalıdır. Bu rehber, değişmeyen mimari ilkeleri ve çalışma düzenini anlatır.

Temel çalışma düzeni: istek, yanıt ve mesaj yapısı

Bir uygulama modelle mesaj listesi üzerinden konuşur. Mesajlar genellikle bir sistem talimatı, kullanıcı girdisi ve önceki konuşmadan oluşur. Uygulamanız bu listeyi hazırlar, API'ye gönderir, dönen yanıtı kullanıcıya gösterir ve gerekirse konuşmaya ekler.

Başlangıç için şu adımlar izlenir:

  • Hesap ve anahtar: API anahtarı oluşturulur ve yalnız sunucu tarafında, ortam değişkeninde saklanır.
  • İlk çağrı: Basit bir istemle yanıt alınır, sonuç yapısı incelenir.
  • Sistem talimatı: Modelin rolü, üslubu ve sınırları yazılır.
  • Parametreler: Yanıtın rastgeleliğini ve uzunluğunu etkileyen ayarlar işe göre seçilir.
  • Akış: Uzun yanıtlarda cevabı parça parça göstermek bekleme hissini azaltır.

Sistem talimatında modele hangi konuda yanıt vereceğini, hangi konularda reddedeceğini ve yanıtın biçimini açıkça yazmak, ilk iyileştirmenin en ucuz yoludur. Konuşma geçmişi uzadıkça maliyet ve gecikme artacağı için eski mesajları özetleyip kısaltmak ya da yalnızca son kısmı göndermek sık kullanılan bir yaklaşımdır.

Fonksiyon çağırma ve araç kullanımı

Modelin güncel veriye ya da sistemlerinize erişmesi için fonksiyon çağırma kullanılır. Siz modele hangi fonksiyonların olduğunu ve parametrelerini tarif edersiniz. Model gerekli gördüğünde bir fonksiyon çağrısı önerir, uygulamanız bu fonksiyonu çalıştırır ve sonucu modele geri verir. Model bu sonucu kullanarak nihai yanıtı yazar.

Örneğin bir müşteri destek asistanı, sipariş durumunu sorgulayan bir fonksiyonu çağırarak güncel bilgiyle yanıt verebilir. Güvenlik açısından model yalnız öneri yapar, fonksiyonu çalıştıran sizin kodunuzdur. Bu yüzden fonksiyon parametreleri doğrulanmalı, yetki kontrolü uygulama tarafında yapılmalıdır. Yazma ve silme gibi etkisi büyük işlemlerde kullanıcı onayı istemek iyi bir pratiktir.

Fonksiyon tanımlarında açıklamanın net yazılması önemlidir: modelin hangi durumda hangi fonksiyonu seçeceğini büyük ölçüde fonksiyon adı, açıklaması ve parametre tanımı belirler. Birbirine benzeyen iki fonksiyon varsa model karıştırabilir; bu yüzden fonksiyonları dar ve tek amaçlı tutmak, hatalı seçimi azaltır.

Yapılandırılmış çıktı ve kalite

Uygulamalar çoğu zaman serbest metin değil, belirli bir yapıda veri bekler. Modelden JSON benzeri yapılandırılmış çıktı istemek ve çıktıyı şemaya göre doğrulamak, bu ihtiyacı karşılar. Doğrulamadan geçmeyen yanıt için yeniden deneme ya da hata yolu tasarlanmalıdır.

Kaliteyi sistemli ölçmek için gerçek kullanım örneklerinden bir test kümesi oluşturun ve talimat, model ya da parametre değiştirdiğinizde aynı kümeyle karşılaştırın. İyileşmenin sezgiyle değil, ölçümle doğrulandığı bir düzen, modeller güncellendiğinde sürpriz bozulmaları da yakalar. İstemleri kodun içine gömmek yerine sürümlü bir yapıda tutmak değişikliği izlemeyi kolaylaştırır.

Kalite testi için küçük başlayın: gerçek kullanımdan alınmış temsilî soruları, beklenen yanıt ya da kabul ölçütüyle birlikte bir tabloda toplayın. Zor ve uç durumları, örneğin belirsiz, çok uzun ya da kötü niyetli girdileri de ekleyin. Talimat her değiştiğinde bu tablo yeniden çalıştırılır ve gerileme olup olmadığı görülür.

Maliyet yönetimi ve optimizasyon

API kullanımı, işlenen metin miktarına göre ücretlendirilir; güncel fiyatlar resmî sitede yayımlanır. Maliyeti etkileyen başlıca etkenler girdi ve çıktı uzunluğu ile seçilen modeldir. Kontrol için bazı yöntemler:

  • Gereksiz uzun talimatı ve konuşma geçmişini kısaltmak.
  • Basit işlerde daha küçük, zor işlerde daha yetenekli model kullanmak.
  • Aynı sorular için yanıtları önbelleğe almak.
  • Kullanıcı başına limit koymak ve kullanımı izlemek.
  • Toplu işleri uygun olduğunda arka planda çalıştırmak.

Kullanım ve harcama için uyarı eşikleri tanımlanmalı, beklenmedik artışlar hızlı fark edilmelidir. Maliyet ölçümü uygulama geliştirme sürecinin başından itibaren yapılırsa ileride sürprizle karşılaşılmaz.

Güvenlik, gizlilik ve üretime alma

Üretim uygulamasında dikkat edilecek başlıca konular şunlardır. API anahtarı istemci kodunda yer almaz. Kullanıcı girdisi ve belgelerin içindeki gömülü talimatlar (prompt injection) modelin davranışını değiştirmeye çalışabilir; bu nedenle model çıktısına dayanarak yapılan işlemler yetki kontrolünden geçer. Kişisel veri modele gönderilmeden önce gerekli olup olmadığı değerlendirilir ve gizlilik politikalarıyla uyumlu hale getirilir.

Üretimde istek hataları, hız sınırı yanıtları ve zaman aşımı için yeniden deneme mantığı kurulur. Kayıt ve izleme ile hangi istemin hangi yanıtı verdiği geriye dönük incelenebilmelidir. Model güncellemeleri için bir geçiş planı ve geri dönüş yolu bulunmalıdır.

Model çıktısının kullanıcıya ulaşmadan önce filtrelenmesi bir diğer katmandır: zararlı ya da alakasız içeriği engelleyen kontroller, yanıtın izin verilen konuyla sınırlı kalmasını sağlar. Hassas alanlarda (finans, sağlık, hukuk) çıktının bir insan tarafından gözden geçirilmesi ya da yanıtın yalnızca bilgilendirme olarak sunulması uygun olur.

Sık yapılan hatalar

  • Anahtarı istemci tarafında bırakmak.
  • Konuşma geçmişini sınırsız büyütmek ve maliyeti ile gecikmeyi artırmak.
  • Model çıktısını doğrulamadan sistem işlemine bağlamak.
  • Test kümesi olmadan istem değiştirmek.
  • Hata ve hız sınırı durumlarını düşünmemek.
  • Tek bir sağlayıcıya sıkı bağlı kalıp geçiş maliyetini hesaplamamak.

Platform seçimi de bir karardır: bazı projelerde birden fazla sağlayıcının API'sini karşılaştırmak ve ortak bir soyutlama katmanı kurmak esneklik sağlar.

Mindset programlarında nerede çalışılır?

OpenAI API ile Kurumsal Uygulama Geliştirme eğitimi şu modüllerden oluşur: OpenAI API mimarisi ve kurulum, sohbet ve tamamlama API'leri, fonksiyon çağırma ve araç kullanımı, fine-tuning ve model özelleştirme, maliyet yönetimi ve optimizasyon, üretim dağıtımı ve izleme. OpenAI ve Anthropic API ile Geliştirme eğitimi ise OpenAI API temelleri ve mimarisi, Anthropic Claude API ile geliştirme, araç kullanımı ve fonksiyon çağırma, platform karşılaştırması ve üretim uygulaması tasarımı ile güvenlik konularını kapsar.

İlgili Mindset programı

OpenAI API ile Kurumsal Uygulama Geliştirme

Sık sorulanlar

Sık sorulan sorular

OpenAI API kullanmak için yazılımcı olmak gerekir mi?

API çağrısı yapmak için temel düzeyde programlama bilgisi gerekir; Python ya da JavaScript yeterlidir. Üretim uygulaması için ise güvenlik, hata yönetimi ve izleme gibi yazılım mühendisliği bilgisi de gerekir. Örneğin bir sunucu tarafında basit bir betik, anahtarı ortam değişkeninden okuyup tek bir istek gönderebilir. Daha büyük uygulamalarda ise kullanıcı arayüzü, veri tabanı ve yetkilendirme katmanları geleneksel yazılım bilgisini gerektirir.

API ile ChatGPT arayüzü aynı mıdır?

Hayır. ChatGPT hazır bir ürün arayüzüdür. API ise modele kendi uygulamanızdan erişmenizi sağlar ve kullanıcı deneyimini, veri akışını ve entegrasyonları siz tasarlarsınız. Kullanım koşulları ve ücretlendirme farklıdır. Bir örnek: ChatGPT arayüzünde konuşma geçmişini ürün yönetir. API'de ise geçmişi uygulamanız saklar ve her istekte modele geri gönderir; hangi geçmişin tutulacağı, ne kadar süre saklanacağı ve kime gösterileceği sizin tasarım kararınızdır.

Fine-tuning mi, istem mühendisliği mi daha iyi?

Çoğu uygulama önce iyi bir sistem talimatı ve örneklerle başlar. Bu yetmezse ve tutarlı bir üslup ya da biçim gerekiyorsa fine-tuning düşünülür. Güncel bilgi ihtiyacı için ise geri getirme (RAG) yaklaşımı daha uygundur.

Birden fazla yapay zeka sağlayıcısı kullanmak mantıklı mı?

Yedeklilik, maliyet ya da yetenek farkı için mantıklı olabilir. Bunun için sağlayıcıya özgü kodu tek bir katmanda toplamak geçişi kolaylaştırır. Örneğin yoğun saatlerde bir sağlayıcıya erişilemezse diğerine geçen bir yedek yol kurulabilir. Yine de modeller istemlere farklı tepki verdiği için her sağlayıcıda ayrı test kümesiyle kalite doğrulamak gerekir.

OpenAI API ile Uygulama Nasıl Geliştirilir