KodKutuphanesi
Kayıtlı Üye
İşlevi belirli bir problemle sınırlayıp veriyi hazırlayarak, uygun bir hazır model API’sini veya kendi eğittiğiniz modeli uygulamanıza bağlayabilirsiniz. Başlangıç için en uygulanabilir yol; Python’da sanal ortam oluşturmak, model API’sine güvenli bir sunucu bağlantısı kurmak, girdiyi doğrulamak, çıktıyı test etmek ve ardından uygulamaya eklemektir. Böylece örneğin kullanıcıdan gelen bir metni sınıflandıran, özetleyen veya yanıtlayan çalışan bir yapay zekâ özelliği elde edersiniz.
İlk sürümde model eğitmek zorunda değilsiniz. Elinizde büyük, temiz ve izinli bir veri kümesi yoksa hazır modelle küçük bir prototip oluşturmak genellikle daha doğru başlangıçtır. Hazır model kullanmak doğruluk garantisi vermez; çıktıyı doğrulamanız, hassas verileri korumanız ve başarısız sonuçlar için alternatif davranış belirlemeniz gerekir.
Ön koşul olarak Python, bir API hesabı ve sunucuda saklanacak bir API anahtarı gerekir. Python projesini ayrı bir sanal ortamda çalıştırmak, bağımlılıkların başka projelerle karışmasını önler.
Gerçek bir uygulamada şu katmanları ayırın: kullanıcı arayüzü, sunucu uç noktası, model çağrısı, veri veya belge erişimi, hata yönetimi ve kayıt izleme. Modelin doğrudan veritabanında işlem yapmasına izin vermek yerine, izin verilen işlemleri sunucu tarafında açıkça tanımlayın. Örneğin “siparişi iptal et” isteği geldiğinde modelin yalnızca yapılandırılmış bir işlem önerisi üretmesini, gerçek iptal kararının ise yetki ve sipariş durumu kontrollerinden sonra sunucu tarafından verilmesini sağlayın.
Belgelerinizden yanıt üretmek istiyorsanız belgeleri doğrudan modelin kalıcı bilgisi sanmayın. Dosyaları parçalara ayırıp aranabilir hâle getirin, ilgili parçaları sorguyla birlikte modele gönderin ve yanıtta kullanılan parçaları izleyin. Böylece yanlış belgeye dayanan yanıtları daha kolay fark edersiniz. Bu yaklaşım da belgenin yanlış veya güncel olmayan içeriğini otomatik olarak düzeltmez.
Sonucu değerlendirirken yalnızca birkaç başarılı örneğe bakmayın. Önceden ayırdığınız test girdileriyle doğru yanıt oranını, yanlış yönlendirmeleri, boş veya uydurma yanıtları, gecikmeyi ve başarısız istekleri ölçün. Kişisel, ticari veya gizli veriler kullanıyorsanız verinin hangi amaçla işlendiğini, kimlerin erişebildiğini ve ne kadar süre saklandığını ayrıca belirleyin.
İlk çalışan sürümden sonra en yararlı sonraki adım, uygulamanızın başarısını tek bir ölçütle tanımlamaktır: örneğin sınıflandırmada doğru etiket oranı, destek asistanında insan tarafından düzeltme oranı veya belge aramada doğru kaynağı bulma oranı. Bu ölçüt belirlenmeden modeli büyütmek, sorunun modelden mi yoksa veri, istem, yetki veya uygulama tasarımından mı kaynaklandığını ayırt etmeyi zorlaştırır.
Önce hangi tür yazılımı yapacağını belirle
“Yapay zekâ yazılımı” tek bir ürün türü değildir. Uygulamanın amacı, kullanılacak yöntemi doğrudan değiştirir. Metin yanıtlayan bir asistan için hazır dil modeli; görüntüde nesne tanıyan bir sistem için görüntü modeli; satış tahmini için sayısal verilerle çalışan bir makine öğrenmesi modeli gerekir.| İhtiyaç | Uygun yaklaşım | Başlangıç ölçütü |
|---|---|---|
| Metin üretme, özetleme veya soru yanıtlama | Hazır model API’si | Yanıt doğruluğu, gecikme ve kullanım maliyeti |
| Belgelerinizden bilgi bulma | Arama veya dosya tabanlı bilgi erişimiyle desteklenen model | Doğru belgenin bulunması ve yanıtın belgeye dayanması |
| Spam, duygu veya konu sınıflandırma | Hazır sınıflandırıcı ya da etiketlenmiş verilerle eğitilmiş model | Doğru ve yanlış sınıflandırma oranları |
| Özel tahmin veya görüntü tanıma | Veriyle eğitilen makine öğrenmesi modeli | Temsilî test verisindeki başarı ve hata türleri |
Python ile küçük bir yapay zekâ uygulaması oluşturma
Aşağıdaki örnekte kullanıcı metni bir modele gönderilir ve modelden kısa bir yanıt alınır. Bu, sunucu tarafında çalışan en küçük uygulama iskeletidir. API anahtarını kaynak koduna yazmayın; ortam değişkeninde saklayın. Kullanacağınız model adı ve erişim yetkisi hesabınızdaki güncel seçeneklere göre belirlenmelidir.Ön koşul olarak Python, bir API hesabı ve sunucuda saklanacak bir API anahtarı gerekir. Python projesini ayrı bir sanal ortamda çalıştırmak, bağımlılıkların başka projelerle karışmasını önler.
- Proje klasörü oluşturun ve sanal ortamı başlatın. Terminalde proje klasörüne geçip
python -m venv .venvkomutunu çalıştırın. Windows’ta.venv\\Scripts\\activate, macOS veya Linux’tasource .venv/bin/activatekomutuyla ortamı etkinleştirin. Komut satırında.venvbenzeri bir ortam adı görünmelidir. - Gerekli Python paketini yükleyin. Etkin sanal ortamda
pip install openai python-dotenvkomutunu çalıştırın. Yükleme tamamlanmazsa Python ve pip’in aynı sanal ortama ait olduğunupython --versionvepython -m pip --versionile kontrol edin. - API anahtarını ortam değişkenine koyun. Proje klasöründe
.envadlı dosya oluşturupOPENAI_API_KEY=anahtarınızveOPENAI_MODEL=erişebildiğiniz_modelsatırlarını ekleyin. Bu dosyayı sürüm denetimine göndermeyin;.gitignoreiçine.envsatırını yazın. - Model çağrısını yapan dosyayı oluşturun.
app.pydosyasına aşağıdaki kodu ekleyin. Kod, anahtarı ortamdan okur, kullanıcı girdisini modele gönderir ve yalnızca alınan metin çıktısını yazdırır.
Python:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
model = os.getenv("OPENAI_MODEL")
if not api_key or not model:
raise RuntimeError("OPENAI_API_KEY ve OPENAI_MODEL ayarlanmalıdır.")
client = OpenAI(api_key=api_key)
question = input("Sorunuz: ").strip()
if not question:
raise ValueError("Boş soru gönderilemez.")
response = client.responses.create(
model=model,
input=[
{
"role": "system",
"content": "Soruyu Türkçe, kısa ve bilmediğin bilgileri uydurmadan yanıtla."
},
{
"role": "user",
"content": question
}
]
)
print(response.output_text)
- Programı çalıştırın. Etkin sanal ortamda
python app.pykomutunu verin.Sorunuz:istemi göründüğünde örneğinPython’da liste nasıl sıralanır?yazıp Enter’a basın. - Çıktının gerçekten üretildiğini kontrol edin. Program boş olmayan bir metin yazdırıyorsa temel bağlantı çalışmıştır. Bu yalnızca API çağrısının başarılı olduğunu kanıtlar; yanıtın doğru, güncel veya güvenli olduğunu kanıtlamaz.
- Başarısız sonucu ayrı ele alın. Kimlik doğrulama hatasında anahtarın doğru ortam değişkeninden okunduğunu ve hesabın ilgili erişime sahip olduğunu kontrol edin. Model bulunamadı hatasında
OPENAI_MODELdeğerini hesabınızda erişilebilen bir modelle değiştirin. Kota veya hız sınırı hatasında tekrar deneme, istek sınırı ve kullanım durumunu sunucu günlüklerinde hassas verileri kaydetmeden inceleyin.
Prototipi gerçek uygulamaya dönüştürme
Komut satırı örneği yalnızca model bağlantısını doğrular. Web veya mobil uygulamada API anahtarını istemci koduna koymayın. İstemci, kendi sunucunuzdaki bir uç noktaya istek göndermeli; sunucu da girdiyi doğrulayıp modeli çağırmalı ve güvenli bir yanıt döndürmelidir.Gerçek bir uygulamada şu katmanları ayırın: kullanıcı arayüzü, sunucu uç noktası, model çağrısı, veri veya belge erişimi, hata yönetimi ve kayıt izleme. Modelin doğrudan veritabanında işlem yapmasına izin vermek yerine, izin verilen işlemleri sunucu tarafında açıkça tanımlayın. Örneğin “siparişi iptal et” isteği geldiğinde modelin yalnızca yapılandırılmış bir işlem önerisi üretmesini, gerçek iptal kararının ise yetki ve sipariş durumu kontrollerinden sonra sunucu tarafından verilmesini sağlayın.
Belgelerinizden yanıt üretmek istiyorsanız belgeleri doğrudan modelin kalıcı bilgisi sanmayın. Dosyaları parçalara ayırıp aranabilir hâle getirin, ilgili parçaları sorguyla birlikte modele gönderin ve yanıtta kullanılan parçaları izleyin. Böylece yanlış belgeye dayanan yanıtları daha kolay fark edersiniz. Bu yaklaşım da belgenin yanlış veya güncel olmayan içeriğini otomatik olarak düzeltmez.
Modeli kendin eğitmek ne zaman gerekir?
Kendi modelinizi eğitmek; veri toplama, etiketleme, eğitim, doğrulama, sürümleme ve dağıtım süreçlerini gerektirir. Hazır modelin görevi yeterince iyi yaptığı bir problemde sıfırdan eğitim ek maliyet ve bakım yükü oluşturabilir. Özel eğitim ancak yeterli ve izinli veriniz varsa, ölçülebilir bir hata türünü azaltmanız gerekiyorsa veya genel modellerin iş alanınızı karşılamadığı doğrulanabiliyorsa anlamlıdır.Sonucu değerlendirirken yalnızca birkaç başarılı örneğe bakmayın. Önceden ayırdığınız test girdileriyle doğru yanıt oranını, yanlış yönlendirmeleri, boş veya uydurma yanıtları, gecikmeyi ve başarısız istekleri ölçün. Kişisel, ticari veya gizli veriler kullanıyorsanız verinin hangi amaçla işlendiğini, kimlerin erişebildiğini ve ne kadar süre saklandığını ayrıca belirleyin.
İlk çalışan sürümden sonra en yararlı sonraki adım, uygulamanızın başarısını tek bir ölçütle tanımlamaktır: örneğin sınıflandırmada doğru etiket oranı, destek asistanında insan tarafından düzeltme oranı veya belge aramada doğru kaynağı bulma oranı. Bu ölçüt belirlenmeden modeli büyütmek, sorunun modelden mi yoksa veri, istem, yetki veya uygulama tasarımından mı kaynaklandığını ayırt etmeyi zorlaştırır.
Sık sorulan sorular
Yapay zekâ yazılımı yapmak için mutlaka matematik ve model eğitimi bilmek gerekir mi?
Hazır model API’siyle uygulama geliştirmek için öncelikle programlama, HTTP istekleri, veri doğrulama ve hata yönetimi bilgisi yeterli olabilir. Model eğitmek, performans ölçmek veya algoritma geliştirmek istiyorsanız olasılık, istatistik, lineer cebir ve makine öğrenmesi bilgisi ayrıca gerekir.
Modelin verdiği yanıtı doğrudan kullanıcıya göstermek güvenli midir?
Hayır. Model çıktısı olasılıksal olabilir ve yanlış bilgi içerebilir. Kritik işlemlerde çıktı biçimini doğrulayın, yetki kontrolünü modelin dışında yapın, başarısız durumda insan onayı veya güvenli bir geri dönüş davranışı tanımlayın. API anahtarını ve hassas tanılama kayıtlarını son kullanıcıya göstermeyin.