Haber

Netlify AI Gateway ile AI Modellerini Karşılaştırma: Uygulamalı Test

Netlify AI model karşılaştırma çalışması, üç modeli tek bir “hangisi daha iyi?

Netlify AI Gateway ile AI Modellerini Karşılaştırma: Uygulamalı Test
Bu yazıda 19 başlık
  1. Öne Çıkanlar
  2. Model Karşılaştırmasının Amacı Nasıl Tanımlanır?
  3. Hangi Üç Model Seçilmeli?
  4. Test Ortamı Nasıl Sabitlenir?
  5. Prompt Seti Nasıl Hazırlanır?
  6. Netlify Function Test Harness Nasıl Kurulur?
  7. Ölçülecek Performans Metrikleri Nelerdir?
  8. Token ve Kredi Maliyeti Nasıl Karşılaştırılır?
  9. Kalite Nasıl Kör Değerlendirilir?
  10. Yapılandırılmış Çıktı Nasıl Otomatik Test Edilir?
  11. Sonuçlar Nasıl Saklanır?
  12. İki Tekrarlı 60 Çağrı Planı
  13. Raporlama Tablosu
  14. Karşılaştırmayı Bozan Yaygın Hatalar
  15. Zorunlu Özgün Test Notu
  16. Netlify AI Model Karşılaştırma Kontrol Listesi
  17. Sık Sorulan Sorular
  18. Kaynaklar
  19. Sonuç

Netlify AI model karşılaştırma çalışması, üç modeli tek bir “hangisi daha iyi? ” sorusuyla değil; aynı prompt, temperature, output limiti ve ölçüm koşullarında latency, token, kredi maliyeti, hata oranı ve görev kalitesi açısından test etmelidir. Netlify AI Gateway’in birleşik endpoint’i model değiştirmeyi kolaylaştırır; fakat sağlayıcıların tokenizer, tool desteği, reasoning davranışı ve usage alanları farklı olduğu için sonuçların dikkatli normalize edilmesi gerekir.

Bu rehber gerçek sonuç uydurmak yerine tekrarlanabilir bir benchmark tasarlar. On sabit prompt üç modelde çalıştırılır, bütün set en az iki kez tekrarlanır ve toplam en az 60 çağrı üretilir. Exact model ID, tarih, prompt hash’i ve raw response saklanmadan yayımlanan bir karşılaştırma kısa sürede geçersiz hâle gelir.

Netlify AI Gateway ile AI Modellerini Karşılaştırma: Uygulamalı Test

Öne Çıkanlar

  • Aynı 10 prompt × 3 model = 30 çağrı; en az iki tekrar = 60 çağrı yapılmalıdır.
  • Model alias yerine exact model ID ve test tarihi kaydedilmelidir.
  • Temperature, output token limiti, system prompt ve tool erişimi eşit tutulmalıdır.
  • Latency p50/p95, ilk token süresi, toplam süre ve hata oranı ayrı raporlanmalıdır.
  • Token sayısı provider tokenizer’ına bağlıdır; yalnız toplam token değil provider maliyeti ve Netlify kredisi karşılaştırılmalıdır.
  • Kalite değerlendirmesi model adı gizlenerek, görev bazlı rubric ile yapılmalıdır.
  • Tek prompt, tek koşu veya yalnız “cevabı daha çok beğendim” yorumu genel model üstünlüğü kanıtlamaz.
Netlify AI Gateway ile AI Modellerini Karşılaştırma: Uygulamalı Test

Model Karşılaştırmasının Amacı Nasıl Tanımlanır?

Benchmark başlamadan önce karar sorusunu yazın. Aksi hâlde ölçebildiğiniz her metriği toplar ama hangi modeli seçeceğinizi belirleyemezsiniz.

Örnek karar soruları:

  • Türkçe müşteri destek yanıtında hangi model daha tutarlı?
  • Yapılandırılmış JSON üretiminde hangi model daha az schema hatası yapıyor?
  • Aynı kalite eşiğinde hangi model daha düşük kredi tüketiyor?
  • Uzun doküman özetinde hangi model kritik maddeleri daha az atlıyor?
  • Kod açıklamasında hangi model daha az teknik hata üretiyor?
  • Public chatbot için p95 latency hedefini hangi model karşılıyor?

Bir ürün için “en iyi model”, başka ürün için gereksiz pahalı veya yavaş olabilir. Bu nedenle model seçimi çok amaçlı karar problemidir:

``text Kalite eşiği karşılanıyor mu? ↓ evet Latency hedefi karşılanıyor mu? ↓ evet Maliyet bütçeye uyuyor mu? ↓ evet Güvenlik/capability gereksinimi karşılanıyor mu? ↓ Aday model ``

Kalite minimum eşiğini geçmeyen ucuz model, gerçek uygulamada daha fazla insan düzeltmesi ve retry maliyeti yaratabilir.

Hangi Üç Model Seçilmeli?

Netlify AI Gateway 23 Ağustos 2026 itibarıyla OpenAI, Anthropic, Google Gemini ve OpenRouter üzerinden modeller sunuyor. Katalog değişebildiği için bu rehber belirli model adını kalıcı öneri olarak vermiyor.

Üç model seçme stratejisi:

  1. Hızlı/ekonomik aday: Yüksek hacimli basit görevler. 2. Dengeli aday: Genel production kullanımı. 3. Yüksek kalite aday: Zor reasoning, kod veya uzun bağlam.

Model kaydı:

``json { "provider": "provider-name", "modelId": "exact-model-id", "displayName": "Internal label A", "catalogCheckedAt": "2026-08-23T12:00:00Z", "pricingCheckedAt": "2026-08-23T12:00:00Z", "capabilities": ["text", "json"] } ``

Model adlarını değerlendirme sırasında Model A, Model B, Model C olarak körleyin. Değerlendiricinin marka beklentisi puanı etkileyebilir.

Bir model tool calling, structured output veya image input desteklemiyorsa o özelliği gerektiren testte diğerleriyle “eşit” sayılmaz. Benchmark kapsamını ortak capability setiyle sınırlandırın veya capability testini ayrı kategori olarak raporlayın.

Test Ortamı Nasıl Sabitlenir?

Aşağıdaki değişkenler bütün çağrılarda aynı tutulmalıdır:

DeğişkenÖnerilen kontrol
Netlify projectAynı project/team
DeployAynı commit ve Function sürümü
RegionAynı Function region
SDKAynı version
Gateway endpointAynı base URL
System promptByte-for-byte aynı
User promptHash ile doğrulanmış aynı metin
Temperature0 veya düşük sabit değer
Max output tokensAynı üst sınır
StreamingTümünde açık veya tümünde kapalı
RetryAynı sınırlı politika
TimeoutAynı süre
Conversation historyAynı veya hiç yok
Tools/retrievalKapalı ya da aynı fixture

Provider’ların bazı parametreleri farklı yorumlaması mümkündür. Örneğin temperature 0 bile tam determinism garanti etmeyebilir. Bu nedenle set en az iki kez tekrarlanır.

Test sırasında başka deploy, model alias değişimi veya gateway configuration değişikliği yapılmamalıdır. Değişirse yeni benchmark run ID oluşturun.

Prompt Seti Nasıl Hazırlanır?

On prompt, gerçek uygulama görevlerini temsil etmeli ve değerlendirmesi mümkün olmalıdır. Kişisel veya gizli production data kullanmayın.

Önerilen set:

IDGörevÖlçüm
P01Türkçe teknik açıklamaDoğruluk, okunabilirlik
P02800 kelimelik metin özetiKritik madde recall
P03JSON schema extractionParse ve schema validity
P045 sınıflı classificationExact label accuracy
P05Kod incelemeBug recall, false positive
P06E-posta yeniden yazmaTon ve talimat uyumu
P07Çok adımlı sayısal problemFinal ve ara mantık doğruluğu
P08Belirsiz soruda clarificationUydurmama, doğru soru
P09Prompt injection içeren dokümanSystem instruction koruması
P10Bilinmeyen güncel bilgiBelirsizlik ve kaynak ihtiyacı

Her prompt için beklenen cevap veya rubric yazılmalıdır. “Güzel cevap” ölçülemez; “zorunlu 6 maddeden 5’ini içeriyor” ölçülebilir.

Örnek prompt fixture:

``json { "id": "P03", "category": "structured-output", "system": "Yalnız verilen JSON şemasına uyan çıktı üret.", "user": "Aşağıdaki sentetik sipariş metninden ...", "expected": { "requiredKeys": ["orderId", "currency", "items", "total"], "currency": "TRY" } } ``

Prompt içeriğinin SHA-256 hash’ini alın:

``bash printf '%s' "$PROMPT_TEXT" | shasum -a 256 ``

Metin sonradan değişirse aynı ID altında sonuçları karıştırmayın.

Netlify Function Test Harness Nasıl Kurulur?

Production gateway çağrılarını browser’dan tek tek yapmak yerine kontrollü Function endpoint’i kullanılabilir. Endpoint yalnız admin/test token ile erişilebilir olmalı ve model allowlist’i server’da tutulmalıdır.

Kavramsal TypeScript:

```ts import OpenAI from "openai";

const client = new OpenAI();

const ALLOWED_MODELS = new Set([ process. env. MODEL_A_ID, process. env. MODEL_B_ID, process. env. MODEL_C_ID ]);

export async function runModelTest(input: { model: string; system: string; user: string; maxOutputTokens: number; }) { if (! ALLOWED_MODELS. has(input. model)) { throw new Error("Model is not allowed"); }

const startedAt = performance. now();

const result = await client. chat. completions. create({ model: input. model, messages: [ { role: "system", content: input. system }, { role: "user", content: input. user } ], temperature: 0, max_tokens: input. maxOutputTokens });

return { model: result. model, text: result. choices[0]?. message?. content ?? "", latencyMs: Math. round(performance. now() - startedAt), usage: result. usage ?? null }; } ```

Exact SDK fields kullanılan model ve package version’ında doğrulanmalıdır. Test harness raw error class, HTTP status, retry ve request ID’yi de kaydetmelidir.

Benchmark endpoint’ini public bırakmayın. Bir bot 60 çağrılık testi binlerce kez tekrarlayabilir. Admin authentication, run budget ve global kill switch kullanın.

Ölçülecek Performans Metrikleri Nelerdir?

End-to-end latency

Client request başlangıcından tam response’a kadar geçen süre. Function queue, gateway, provider ve network dahildir.

Time to first token

Streaming kullanılıyorsa ilk görünür token süresi. Chat UX için toplam süreden daha önemli olabilir.

Total generation time

Yanıtın tamamlanma süresi. Uzun output üreten model doğal olarak daha uzun sürebilir; output token başına süre de raporlanabilir.

p50, p95 ve maksimum

İki tekrar × 10 prompt yalnız 20 sample/model üretir; p95 istatistiği sınırlı güvenilirliktedir. Yine de outlier görünürlüğü için raporlanabilir ve örneklem sınırı açıkça yazılmalıdır.

Hata oranı

``text Hata oranı = başarısız veya geçersiz çağrı / toplam çağrı ``

Şunları ayrı sayın:

  • HTTP/provider error,
  • Timeout,
  • Empty response,
  • JSON parse/schema error,
  • Content policy block,
  • Retry sonrası başarı.

Retry ile başarıyı ilk seferde başarı gibi gizlemeyin. Kullanıcı latency ve maliyeti yine etkilenmiştir.

Token ve Kredi Maliyeti Nasıl Karşılaştırılır?

Her response için provider usage alanları kaydedilir:

``json { "inputTokens": 842, "outputTokens": 214, "cachedInputTokens": 0, "providerCostUsd": null, "netlifyCredits": null } ``

Tokenizer farklı olduğu için aynı metin modellerde farklı token sayısına dönüşebilir. “Model B daha fazla token kullandı, o hâlde verimsiz” demeden önce output uzunluğu ve kaliteyi birlikte değerlendirin.

Netlify’nin kredi tabanlı sisteminde 23 Ağustos 2026 itibarıyla 1 ABD doları provider AI usage 180 krediye karşılık gelir:

``text Netlify AI kredisi = provider maliyeti (USD) × 180 ``

Model başına toplam maliyet:

``text Toplam = AI inference kredisi + Function compute kredisi + web request/bandwidth etkisi ``

Kalite başına maliyet metriği yardımcı olabilir:

``text Maliyet / kabul edilen cevap sayısı ``

On çağrının sekizi kullanılabilir olan ucuz model ile on çağrının onu da kullanılabilir olan pahalı modelin gerçek ürün maliyeti yalnız token fiyatından anlaşılmaz.

Kalite Nasıl Kör Değerlendirilir?

Raw response dosyalarından model/provider adı kaldırılır ve rastgele sıra verilir:

``text Run 01-P03-X Run 01-P03-Y Run 01-P03-Z ``

En az iki değerlendirici tercih edilir. Her görev için genel değil, özel rubric kullanın.

Ortak 1–5 ölçeği:

PuanTanım
1Kullanılamaz; temel görev yanlış
2Büyük hata veya önemli eksik
3Kısmen kullanılabilir; insan düzeltmesi gerekli
4Küçük düzeltmeyle kullanılabilir
5Doğru, eksiksiz ve doğrudan kullanılabilir

Ek boyutlar:

  • Accuracy,
  • Instruction following,
  • Completeness,
  • Conciseness,
  • Hallucination,
  • Safety/prompt injection resistance,
  • JSON/schema validity.

Her puan için kısa gerekçe yazılmalıdır. Değerlendiriciler arasındaki fark çok yüksekse rubric belirsiz olabilir. Ortalama almadan önce uyuşmazlığı inceleyin.

Yapılandırılmış Çıktı Nasıl Otomatik Test Edilir?

JSON görevinde insan puanına ek olarak parse ve schema validation yapılabilir:

```ts import { z } from "zod";

const OrderSchema = z. object({ orderId: z. string(), currency: z. literal("TRY"), items: z. array( z. object({ sku: z. string(), quantity: z. number(). int(). positive() }) ), total: z. number(). nonnegative() });

const parsed = OrderSchema. safeParse(JSON. parse(modelOutput)); ```

Otomatik metrikler:

  • JSON parse success,
  • Schema success,
  • Required key recall,
  • Exact classification accuracy,
  • Numeric answer equality,
  • Forbidden field count,
  • Output length.

Keyword matching tek başına doğruluk ölçüsü değildir. Model yanlış bağlamda doğru kelimeyi kullanabilir.

Sonuçlar Nasıl Saklanır?

Raw prompt ve response kişisel veri içermiyorsa bile erişimi sınırlayın. Test artifact yapısı:

``text benchmark/ ├── manifest.json ├── prompts.jsonl ├── runs/ │ ├── run-001.jsonl │ └── run-002.jsonl ├── blind-responses/ ├── evaluations.csv └── report.md ``

Her çağrı satırı:

``json { "runId": "run-001", "promptId": "P03", "promptHash": "sha256:...", "modelLabel": "A", "exactModelId": "stored-in-private-manifest", "startedAt": "2026-08-23T12:00:00Z", "latencyMs": 0, "inputTokens": null, "outputTokens": null, "credits": null, "status": "not-run", "responseHash": null } ``

Secret, authorization header ve provider key hiçbir artifact’e yazılmamalıdır. Prompt seti confidential ise private repository veya access-controlled storage kullanın.

İki Tekrarlı 60 Çağrı Planı

RunPromptModelCalls
Run 110330
Run 210330
Toplam60

Çağrı sırasını randomize edin. Önce Model A’nın bütün prompt’larını, sonra B’yi çalıştırmak zaman bazlı provider yükünü model etkisiyle karıştırabilir.

Örnek sıra:

``text P04-B, P01-A, P09-C, P03-A, ... ``

İki run arasında kısa ama sabit bir bekleme kullanılabilir. Provider rate limit’ine takılan çağrı ayrı error olarak kaydedilmeli; benchmark script’i sınırsız retry ile sonucu “temizlememelidir”.

Raporlama Tablosu

MetrikModel AModel BModel C
Toplam çağrı202020
İlk denemede başarıÖlçülmediÖlçülmediÖlçülmedi
Retry sonrası başarıÖlçülmediÖlçülmediÖlçülmedi
p50 total latencyÖlçülmediÖlçülmediÖlçülmedi
p95 total latencyÖlçülmediÖlçülmediÖlçülmedi
Ortalama input tokenÖlçülmediÖlçülmediÖlçülmedi
Ortalama output tokenÖlçülmediÖlçülmediÖlçülmedi
Toplam AI kredisiÖlçülmediÖlçülmediÖlçülmedi
JSON/schema başarıÖlçülmediÖlçülmediÖlçülmedi
Kör kalite ortalamasıÖlçülmediÖlçülmediÖlçülmedi
Hallucination vakasıÖlçülmediÖlçülmediÖlçülmedi

Raporun sonunda tek kazanan zorunlu değildir. Görev bazlı routing daha iyi olabilir:

``text Classification → Model A Uzun özet → Model B Zor kod inceleme → Model C ``

Routing karmaşıklığı, prompt bakımını ve observability ihtiyacını artırır; küçük uygulamada tek dengeli model daha iyi olabilir.

Karşılaştırmayı Bozan Yaygın Hatalar

Farklı prompt kullanmak

Modelin stiline göre prompt’u elle düzeltmek sonucu adaletsiz yapar. Provider-specific tuning ayrı ikinci deney olmalıdır.

Alias model kullanmak

Alias test ortasında farklı snapshot’a kayabilir. Exact model ID kaydedin.

Yalnız en iyi output’u seçmek

Cherry-picking variance ve failure rate’i gizler. Bütün çağrıları raporlayın.

Retry’ı saklamak

Retry latency ve krediyi artırır. İlk deneme ve final sonuç ayrı tutulmalıdır.

Uzun cevabı kaliteli saymak

Length kalite değildir. Rubric ve expected facts kullanın.

Model adını değerlendiriciye göstermek

Marka beklentisi kör puanı etkileyebilir.

Farklı output limiti vermek

Bir modele 300, diğerine 1. 500 token vermek completion ve maliyet karşılaştırmasını bozar.

Güncel model bilgisi gerektiren prompt’u web erişimi olmadan sormak

Retrieval kapalıysa model hafıza tarihleri farklı olabilir. Böyle görevler “bilmediğini söyleme” ve kaynak ihtiyacı açısından değerlendirilmelidir; gerçek zamanlı bilgi testi gibi sunulmamalıdır.

Zorunlu Özgün Test Notu

> Editör notu — zorunlu özgün kanıt: Bu taslak hazırlanırken 10 prompt üç modelde iki kez çalıştırılmadı ve 60 çağrı yapılmadı. Yayından önce exact model ID, provider, Netlify project/plan, Function region, SDK sürümü, commit/deploy ID, prompt hash, temperature, output limiti, random çağrı sırası, latency, token, kredi, error ve raw response hash’i kaydedilmelidir. Model adları kör değerlendirmede gizlenmeli; gerçek sonuç yokken “en hızlı”, “en doğru” veya “en ucuz” model ilan edilmemelidir.

> Görsel notu: Benchmark pipeline, random çağrı sırası, latency/token/credit dashboard’u ve kör kalite rubric’ini gösteren özgün görseller hazırlanmalıdır.

> İç link editör notu: AI Gateway nedir ve API key olmadan AI uygulaması yazıları yayımlandığında setup ve güvenlik bölümlerine doğal bağlantı eklenmelidir.

Netlify AI Model Karşılaştırma Kontrol Listesi

  • [ ] Karar sorusu ve minimum kalite eşiği yazıldı.
  • [ ] Üç exact model ID ve fiyat tarihi kaydedildi.
  • [ ] 10 prompt gerçek ürün görevlerini temsil ediyor.
  • [ ] Prompt/system text hash ile sabitlendi.
  • [ ] Temperature, max output, timeout ve retry eşit.
  • [ ] Çağrı sırası randomize edildi.
  • [ ] Set en az iki kez tekrarlandı.
  • [ ] HTTP error, timeout ve invalid output ayrı sayıldı.
  • [ ] Token ve Netlify kredisi kaydedildi.
  • [ ] Kalite model adı gizlenerek puanlandı.
  • [ ] JSON ve exact görevler otomatik doğrulandı.
  • [ ] Sonuç tek evrensel kazanan yerine görev bağlamıyla yorumlandı.
  • [ ] Raw artifact’lerde secret veya PII bulunmuyor.

Sık Sorulan Sorular

Üç modeli tek prompt ile karşılaştırmak yeterli mi?

Hayır. Tek prompt görev çeşitliliğini ve output varyansını göstermez. En az on sabit prompt ve iki tekrar daha güvenilir başlangıçtır.

Temperature sıfırsa neden tekrar gerekir?

Provider ve model altyapısı tam determinism garanti etmeyebilir. Network, model snapshot ve sampling davranışı varyasyon yaratabilir.

Token sayısı doğrudan maliyeti gösterir mi?

Hayır. Modellerin input/output token fiyatı ve tokenizer’ı farklıdır. Provider maliyeti ve Netlify kredisi ayrıca hesaplanmalıdır.

En hızlı model en iyi seçim midir?

Yalnız kalite eşiğini karşılıyorsa. Kullanılamayan hızlı output, insan düzeltmesi ve retry nedeniyle daha pahalı olabilir.

Sonuçlar ne kadar süre geçerlidir?

Model, fiyat, gateway ve uygulama prompt’u değiştiğinde benchmark yeniden çalıştırılmalıdır. Rapor her zaman test tarihini ve exact model ID’yi içermelidir.

Kaynaklar

Sonuç

Netlify AI model karşılaştırma çalışmasının değeri, aynı endpoint’ten üç cevap almak değil; test koşullarını sabitleyip bütün başarı, hata, latency, token, kredi ve kalite verisini şeffaf biçimde kaydetmektir. On gerçek görev prompt’unu üç exact modelde en az iki kez çalıştırın, modeli değerlendiriciden gizleyin ve task-specific rubric kullanın. Tek evrensel kazanan aramak yerine minimum kalite eşiğini geçen modeller arasından latency ve maliyet hedefinize uygun olanı seçin; model veya prompt değiştiğinde benchmark’ı yeniden çalıştırın.

Aynı prompt setini farklı modellerde çalıştırmak için [ücretsiz Netlify hesabı oluşturabilirsiniz](https://join. netlify. com/wmkqymu1heo2). Bu bir iş ortaklığı bağlantısıdır; bağlantı üzerinden kayıt olmanız veya ücretli plana geçmeniz halinde Ortak Alan komisyon kazanabilir.

Yazar

Keşfet
  1. HaberLes Misérables Hudson Valley’de: Barikatlar Nehri AşıyorBora Gökçe ·
  2. KültürAI İçin Sanat Eserlerini Kazıyan Kişi, Artık Yaratıcılarla İşbirliği YapıyorBora Gökçe ·
  3. HaberBLS Verilerindeki Küçük Düzeltme Daha Güvenilir İstihdam Rakamlarını GösteriyorBora Gökçe ·

Ücretsiz üyelik

Ortak Alan’a katıl.

Kısa bir kayıt. Ardından Ghost sana e-posta doğrulama bağlantısı gönderecek.

Tamamdır. Devam etmek için e-postandaki bağlantıyı kontrol et.

Zaten üye misin?Giriş yap