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.
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
openaipaketi. 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ş).
# 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).
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 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.
# 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 — 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_tokensbilgisi
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ı):
| Model | Accuracy | p95 latency | Tahmini $/1K |
|---|---|---|---|
| gpt-4o-mini | %88 | 720 ms | $0.18 |
| qwen3-max | %92 | 1.4 s | $0.42 |
| claude-opus-4-7 | %94 | 2.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ı.
# 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:
- Destek ticket'larını AI ile sınıflandırıp yönlendirmek: bu rehberin production'a hazır uzun versiyonu — hibrit routing, kritik ticket eskalasyonu ve drift monitoring dahil.
- Hugging Face modeli deploy etmek: açık kaynak model şampiyon çıktıysa, kendi GPU'nuzda çalıştırmak için BYOM akışı.
- Claude Code'u Parel'e bağlamak: developer iseniz, IDE içinden Parel modellerini kullanmak için.