Hızlı POC · Uygulamalı

Parel ile AI POC nasıl yapılır? 1 günlük uygulamalı rehber

Bu sayfa kavramsal anlatım değil, baştan sona uygulamadır. Parel API anahtarınızla, hazır CSV ile ve aşağıdaki Python kodunu kopyalayıp çalıştırarak 1 saat içinde üç modeli yan yana karşılaştıran çalışan bir POC çıkaracaksınız. Sonunda elinizde yöneticiye sunulabilir bir karar tablosu olacak.

Süre8 dk okuma · 1 saat uygulama
RolBackend, ML eng., PM
ÇıktıPOC scorecard + Python kodu
Bu rehberde örnek görev: 50 Türkçe destek ticket'ını 6 kategoriye ayıran bir POC. Parel'in tek API'si üzerinden 3 modeli (gpt-4o-mini, qwen3-max, claude-opus-4-7) aynı kodla test edip, 1 saat içinde "bu iş AI'a uygun mu, hangi model yeterli, ne kadar tutar" sorularına net cevap çıkaracağız.

Aynı yapıyı kendi use case'inize (özetleme, extraction, FAQ, kalite kontrolü vs.) uyarlamak için sadece prompt'u ve test setini değiştirmeniz yeterli. Adımlar aynı.

Adım 0: Ne gerekiyor?

POC için ihtiyacınız olan her şey:

  • Parel hesabı + API anahtarı. app.parel.cloud/api-keys sayfasından üretin (formatı parel_pk_...). Hesap yoksa signup ile $1 promo kredi alın.
  • $3 prepaid kredi yeterli. 50 ticket × 3 model = 150 istek toplam ~$0.30 tutar. Parel Compare arayüzü kullanırsan UI tarafında ek $0.05.
  • Python 3.10+ ve openai paketi. Parel OpenAI SDK uyumludur, ek bir kütüphane gerekmez.
  • 50 örnekli bir test seti. Bu rehberde örnek bir CSV var; kendi verinizden de oluşturabilirsiniz (5-10 dakikalık iş).
kurulum (3 dakika)
# Python 3.10+ ve openai paketi yeterli
pip install openai

# Parel API anahtarini ortam degiskenine koy
export PAREL_API_KEY="parel_pk_xxxxxxxxxxxx"

Adım 1: Test seti hazırla

Test seti POC'nin temelidir. Aşağıdaki CSV bir örnek; ya bu 6 satırı 50'ye tamamlayın (kendi sistem'inizdeki gerçek ticket'lardan örnekleyerek) ya da kendi göreviniz için aynı formatta yeniden hazırlayın. Üç zorluk seviyesini dengelemek önemli: kolay (kategorisi açık), orta (iki kategoriye yakın) ve zor (sarkastik, eksik bilgi, karışık).

support_50.csv (örnek satırlar)
ticket_text,expected_category,priority
"Kartımdan iki kez ödeme çekilmiş görünüyor.",billing,high
"API anahtarım production ortamında 401 dönüyor.",technical,high
"Pro pakete geçersek fatura kesimi nasıl olacak?",sales,medium
"Hesabımı kapatmak istiyorum, prosedür nedir?",cancellation,low
"Webhook'larım rastgele 502 hatası alıyor.",bug,high
"Ekibinize teşekkürler, çok yardımcı oldunuz.",other,low
Pratik ipucu: Production trafiğinizden 50 random örnek alın. Ardından bunları manuel olarak siz etiketleyin (expected_category alanı). Bu yarım saatlik iştir ama POC'nin güvenilirliğini belirler.

Adım 2: Smoke test (bağlantı doğrulama)

Tam runner'ı koşturmadan önce tek bir istekle Parel'e bağlandığınızı doğrulayın. Bu adım 30 saniye sürer ve API key'inizin çalıştığını + kotanızın olduğunu gösterir.

curl smoke test
# Tek istekle Parel'e baglanti dogrulamasi
curl https://api.parel.cloud/v1/chat/completions \
  -H "Authorization: Bearer $PAREL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-max",
    "messages": [
      {"role": "user", "content": "Tek cumle Turkce: hangi modelsin?"}
    ],
    "max_tokens": 64
  }'

# Beklenen: 200 + JSON (choices[0].message.content)
# 401 alirsan API key bos veya yanlis. 404 alirsan model adi yanlis.

200 dönüyorsa ve cevapta model adı + Türkçe bir cümle görüyorsanız hazırsınız. 401 alırsanız $PAREL_API_KEY boş veya yanlış; 404 alırsanız model adı yanlış (qwen3-max yerine qwen3.max gibi).

Adım 3: Üç modeli paralel test eden Python runner

Aşağıdaki run_eval.py dosyasını oluşturun, aynı klasöre az önce hazırladığınız support_50.csv'yi koyun ve çalıştırın. Kod 50 ticket'ı 3 modele sırayla gönderir, her birinde doğruluk, p95 cevap süresi ve token tüketimini ölçer. Tek API anahtarıyla 3 farklı sağlayıcının modelini test ediyoruz, bu Parel'in en pratik avantajı.

run_eval.py
# run_eval.py — 50 ticket'i 3 modele yan yana koştur
import csv, json, time, statistics
from openai import OpenAI

client = OpenAI(
    api_key="${PAREL_API_KEY}",
    base_url="https://api.parel.cloud/v1",
)

# 3 farkli karakterde model
MODELS = [
    "gpt-4o-mini",      # ucuz + hizli
    "qwen3-max",        # acik kaynak referans
    "claude-opus-4-7",  # guclu reasoning
]

PROMPT = """Asagidaki destek ticket'ini su 6 kategoriden birine ata:
billing, technical, sales, bug, cancellation, other

Sadece JSON dondur:
{"category": "...", "confidence": 0.0}

Ticket:
"""

def classify(model, ticket):
    started = time.time()
    response = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "system", "content": "Return valid JSON only."},
            {"role": "user", "content": PROMPT + ticket},
        ],
        temperature=0,
    )
    latency_ms = int((time.time() - started) * 1000)
    out = json.loads(response.choices[0].message.content)
    usage = response.usage  # tokens icin
    return out, latency_ms, usage

results = {}
for model in MODELS:
    correct, latencies, total_tokens = 0, [], 0
    for row in csv.DictReader(open("support_50.csv")):
        try:
            out, latency, usage = classify(model, row["ticket_text"])
            correct += out["category"] == row["expected_category"]
            latencies.append(latency)
            total_tokens += usage.total_tokens
        except Exception as e:
            print(f"{model} failed on row: {e}")
    results[model] = {
        "accuracy": correct / 50,
        "p95_ms": int(statistics.quantiles(latencies, n=20)[-1]),
        "total_tokens": total_tokens,
    }

print(json.dumps(results, indent=2))

Çalıştır:

  • python run_eval.py
  • 50 × 3 = 150 istek, ~3-5 dakika sürer
  • Çıktı: 3 modelin accuracy, p95_ms, total_tokens bilgisi

Test sırasında sağlayıcı (OpenAI, DashScope, Anthropic) Parel tarafından otomatik yönlendirilir. Kodda OpenAI SDK kullanmamıza rağmen Qwen ve Claude'u da çağırıyoruz; sağlayıcı değişikliği için tek satır kod bile değişmedi.

Adım 4: Sonuçları oku

Çıktı yaklaşık şöyle gelir (gerçek sayılar kendi setinizde değişir, format aynı):

ModelAccuracyp95 latencyTahmini $/1K
gpt-4o-mini%88720 ms$0.18
qwen3-max%921.4 s$0.42
claude-opus-4-7%942.1 s$1.85

Doğruluğu maliyetle karşılaştırın. Bu örnekte: en pahalı model (claude-opus-4-7) en yüksek doğrulukta ama gpt-4o-mini'ye göre 10× daha pahalı, sadece %6 daha doğru. Mali olarak gpt-4o-mini büyük olasılıkla "ship" adayıdır.

Maliyeti Parel'in fiyat tablosundan tek formülle hesaplayın: cost = total_tokens × $/1K_token. 50 ticket için ortalama 8K token tüketildiyse, gpt-4o-mini'de bu ~$0.04; aylık 100K ticket'ta ~$80.

Adım 5: Karar — Ship / Iterate / Stop

Şimdi elinizde yöneticiye sunulabilir bir tablo var. Karar tek metriğe değil, kalite + maliyet + hız + hata etkisinin kombinasyonuna göre verilir:

Ship

Bir model kalite eşiğini geçti, p95 latency bütçeye uygun, maliyet net. Pilot'a %5-10 trafikle başla, eski rule-based sistemi kontrol grubu olarak paralel çalıştır. Eval setini production'da haftalık koşturarak drift'i izle.

Iterate

Doğruluk eşiğin biraz altında. Sırasıyla dene: prompt'ta few-shot örnek ekle, output schema'yı sıkılaştır (zorunlu alanlar), test setini büyüt (özellikle zor örnekleri ekle). Model değiştirmek son adım, çoğu zaman gerek olmaz.

Stop

Hiçbir model eşiği geçemiyor, hata etkisi yüksek (yanlış kararı geri almak pahalı) veya iş değeri muğlak. Use case'i bölmek ya da rule-based çözüme dönmek değerli bir POC çıktısıdır. AI'a uygun olmayan iş bulmak da kazançtır.

Bonus: Kod yazmadan UI ile aynı POC

Python kurmak istemiyorsanız Parel Compare arayüzü aynı işi yapar. CSV'yi yükler, modelleri seçer, "Run" tıklar, 2-3 dakika sonra aynı tabloyu görürsünüz. Kod versiyonu daha tekrarlanabilir; UI versiyonu PM/non-dev için daha hızlı.

Parel Compare UI
# Ya da kod yazmak istemiyorsan: Parel Compare arayuzu
# https://app.parel.cloud/compare
#
# 1. "New run" tikla
# 2. CSV dosyani yukle (input + expected sutunlari)
# 3. 3 modeli sec (gemini-3-flash, qwen3-max, gpt-5.4)
# 4. "Run" → ~2-3 dakika sonra kalite + latency + cost tablosu

Sonraki adım

POC tamamlandı. Sıradaki playbook'lar bir adım ileri götürür: