KonuAnlatım.com

AI Uygulaması Geliştirme

Yapay Zekâ · Bölüm 77Yapay ZekâDers

Bu derste bir yapay zekâ uygulamasını fikir aşamasından yayına almaya kadar hangi adımlarla geliştireceğimizi baştan sona öğreniyoruz: problem tanımı, model seçimi, veri hazırlığı, test ve bakım. Anlatılanları pekiştirmek için küçük ama gerçekçi bir örnek proje de işleyeceğiz. Yapay Zekâ alanındaki tüm konulara ulaşmak için Yapay Zekâ dersleri sayfamızı kullanabilirsin.

AI Uygulaması Geliştirme Nedir?

Yapay zekâ uygulaması, temel işlevini bir yapay zekâ modelinden alan yazılımdır: kullanıcının sorusunu anlayan bir sohbet botu, fotoğraftaki nesneleri tanıyan bir mobil uygulama, uzun metinlerden özet çıkaran bir araç ya da izleme geçmişine göre film öneren bir sistem gibi. Klasik bir uygulamada kuralları programcı tek tek yazar; yapay zekâ uygulamasında ise kuralların büyük kısmını veriden öğrenen bir model üstlenir. Bu fark geliştirme sürecini de değiştirir: artık yalnızca kod yazılmaz, aynı zamanda veri hazırlanır, model seçilir ve çıktının kalitesi ölçülür.

Burada önemli bir ayrımı netleştirelim: içinde yapay zekâ olan bir uygulama yapmak ile kod yazarken yapay zekâdan yardım almak aynı şey değildir. Bu ders birincisini anlatır; ikincisinin araç ve yöntemlerini AI destekli yazılım geliştirme dersinde bulabilirsin.

Geliştirme Süreci: Yedi Adım

Boyutu ne olursa olsun bir yapay zekâ uygulaması büyük ölçüde şu adımlardan geçer:

  1. Problemi tanımla: “Öğrencinin yazdığı denemeye geri bildirim versin” gibi tek cümlelik, ölçülebilir bir hedef seç. Hangi girdi verilecek, hangi çıktı bekleniyor?
  2. Yaklaşımı belirle: Problemin gerçekten yapay zekâ gerektirip gerektirmediğini sor; bazen birkaç koşul ya da basit bir arama işi görür.
  3. Veriyi planla: Modelin işleyeceği girdi türünü (metin, görsel, ses) belirle, örnek verileri topla, kişisel verileri ayıkla.
  4. Modeli seç: Hazır bir API mi, kendi sunucunda çalıştıracağın açık kaynak bir model mi, yoksa verine göre ayarlanmış bir model mi kullanacaksın?
  5. Uygulamayı kur: Modeli arayüze ve iş mantığına bağla; kullanıcının girdisini modele iletip cevabı ekrana gösteren kodu yaz.
  6. Test et: Beklenen girdilerin yanında alışılmadık girdileri de dene; çıktıları not alıp kaliteyi ölç.
  7. Yayına al ve izle: Uygulamayı kullanıcıya aç, hataları ve geri bildirimleri izle, istem (prompt) veya model sürümlerini gerektiğinde güncelle.

Model Seçimi: Hazır API mi, Kendi Modelin mi?

Yeni başlayan için en kritik karar budur. 2024-2025 itibarıyla üç yaygın yol vardır:

  • Hazır API kullanmak: OpenAI (GPT), Google (Gemini) ve Anthropic (Claude) gibi sağlayıcıların modellerine internet üzerinden istek gönderirsin; model sağlayıcının sunucusunda çalışır. Başlamanın en hızlı yoludur ve genellikle kullandığın kadar ödersin. Karşılığında veriler dışarıya gider, internet bağlantısı gerekir ve yoğun kullanımda maliyet birikir.
  • Açık kaynak modeli çalıştırmak: Llama, Mistral, Gemma gibi ağırlıkları paylaşılmış modelleri kendi bilgisayarında ya da sunucunda çalıştırırsın. Verin sende kalır, çağrı başına ücret ödemezsin; karşılığında uygun donanım ve kurulum bilgisi gerekir.
  • Kendi modelini eğitmek veya ince ayar yapmak (fine-tuning): Var olan bir modeli kendi verinle belirli bir göreve alıştırmak demektir. Dar bir alanda çok iyi sonuç verebilir ama veri, uzmanlık ve maliyet ister; çoğu proje için gerekmez.

Pratik kural: önce API ile prototip yap, gerekirse sonra değiştir. Uygulamanın özel ya da güncel bilgiye dayanması gerekiyorsa, modelin cevabını kendi belgelerinden gelen alıntılarla destekleyen RAG (Retrieval-Augmented Generation) yaklaşımı da sık kullanılan bir ara yoldur.

Örnek Proje: Öğrenciye Yardımcı Bir Chatbot

Konu somutlaşsın diye küçük bir proje kurgulayalım: kullanıcı bir soru yazacak, uygulama kısa ve öğretici bir cevap döndürecek.

  1. Hedef: Tek cümlelik problem: “Lise öğrencisinin ders sorusuna en fazla beş cümlelik, örnekli cevap verme.”
  2. Model: Prototip için hazır bir dil modeli API'si seçilir; bu iş için en yaygın dil Python'dur ve birkaç satırla istek gönderilebilir. Python tarafını Python ve yapay zekâ dersinde derinleştirebilirsin.
  3. İstem (prompt) tasarımı: Modele rol ve kural verilir: “Sen bir lise öğretmenisin; en fazla beş cümleyle yaz, örnekle açıkla.” Aynı soru farklı istemlerle bambaşka cevaplar üretir; bu yüzden istem, kod kadar önemlidir.
  4. Arayüz ve iş mantığı: Basit bir web sayfası hazırlanır; kullanıcının mesajı API'ye iletilir, gelen cevap ekrana yazılır. Bu aşamada editörünün kod tamamlama özellikleri işi belirgin biçimde hızlandırır.
  5. Test: Normal soruların yanında boş mesaj, aşırı uzun metin ve dersle ilgisiz istek gibi uç durumlar denenir; cevaplar uydurma bilgi (halüsinasyon) açısından gözden geçirilir.
  6. Yayına alma: Uygulama küçük bir sunucuya yerleştirilir, hata kayıtları tutulur, ilk kullanıcı geri bildirimleri toplanır.

Sohbet uygulamalarını uçtan uca kurmak istersen, adım adım rehber için Basit chatbot geliştirme dersine bakabilirsin.

Test, Maliyet ve Güvenlik

Yapay zekâ uygulamalarını test etmek klasik yazılımdan farklıdır, çünkü model olasılıksal çalışır: aynı girdi her seferinde birebir aynı çıktıyı vermeyebilir. Bu yüzden örnek bir soru listesi üzerinde cevapları puanlamak (doğruluk, ton, uzunluk) iyi bir başlangıçtır. Yayına almak işin sonu değildir: kullanıcı soruları, hata oranları ve maliyet izlenir; gerektiğinde istem ya da model güncellenir. Geliştirme sırasında koddan çıkan hataları çözmek için AI ile hata ayıklama dersindeki yöntemlerden yararlanabilirsin.

İki konuya özellikle dikkat et. Maliyet: API'ler genellikle işlenen metin miktarına (token) göre ücretlendirilir; uzun konuşmalar ve büyük belgeler faturayı hızla büyütür, sık soruların cevaplarını saklamak (önbellekleme) tasarruf sağlar. Gizlilik: Kullanıcıların kişisel verilerini bir bulut API'sine göndermeden önce sağlayıcının veri kullanım koşullarını oku ve gereksiz veriyi asla iletme.

Sık Yapılan Hatalar ve Yanılgılar

  • “Modeli ekledim, iş bitti” yanılgısı: Model uygulamanın yalnızca bir parçasıdır; arayüz, veri akışı, hata yönetimi ve istem tasarımı en az model kadar belirleyicidir.
  • Modeli bilgi kaynağı gibi görmek: Dil modelleri emin olmadığı konularda akıcı ama yanlış cümleler üretebilir. Kritik bilgiler uygulamada doğrulanmalı; gerekiyorsa cevap kendi belgelerinden gelen bilgilerle desteklenmelidir.
  • Az testle yayına çıkmak: Üç örnek soruyla “çalışıyor” demek yetmez; uç durumlar ve kötüye kullanım senaryoları da denenmelidir.
  • Maliyeti denetimsiz büyütmek: Her API çağrısı ücretlidir; istemleri kısaltmak, gereksiz çağrıları önlemek ve önbellekleme kullanmak maliyeti düşürür.
  • “Her probleme büyük dil modeli” tuzağı: Bazen basit bir kural, bir hesaplama ya da klasik bir algoritma daha hızlı, daha ucuz ve daha güvenilirdir.
  • Sürüm değişikliklerini takip etmemek: Sağlayıcılar modelleri günceller ve davranış değişebilir; üretimde model sürümünü sabitlemek, değişiklik notlarını okumak gerekir.

Sık Sorulan Sorular

Yapay zekâ uygulaması geliştirmek için kod bilmek gerekir mi?

Hayır, bugün hazır platformlar ve API'lerle kod yazmadan prototip yapmak mümkündür. Ancak prototipi gerçek bir ürüne dönüştürmek, arayüz eklemek ve hataları yönetmek için temel düzeyde programlama, özellikle Python, büyük avantaj sağlar.

AI uygulaması geliştirmek ile AI destekli yazılım geliştirmek arasındaki fark nedir?

AI uygulaması geliştirmek, içinde yapay zekâ modeli barındıran bir ürün ortaya çıkarmaktır. AI destekli yazılım geliştirmekte ise ürünün kendisi sıradan bir yazılımdır; yalnızca geliştirme sürecinde yapay zekâ araçlarından yardım alırsın.

Kendi modelimi eğitmem gerekir mi?

Çoğu proje için gerekmez; hazır modeller API üzerinden ya da açık kaynak ağırlıklarla kullanılabilir. Eğitmek veya ince ayar (fine-tuning) yapmak, ancak dar bir uzmanlık alanı, katı bir veri gizliliği gereksinimi ya da hazır modellerin karşılamadığı özel bir ihtiyaç varsa anlamlıdır.

Dersler

Tümü →