Seneca-TRBench: Türk dilinin özelliklerini ve karmaşıklıklarını test eden kapsamlı bir benchmark sistemi. GPT-4o tabanlı otomatik puanlama ile LLM modellerinin Türkçe dil yeteneklerini objektif olarak değerlendirir.
553 soru (131 MCQ + 422 SAQ) ile Türkçe'nin morfolojik, semantik ve pragmatik özelliklerini test eder.
- 🔵 OpenAI (GPT-5, GPT-4, GPT-3.5)
- 🟣 Anthropic (Claude 4.5, Claude 4.1, Claude 3)
- 🟢 Together.ai (Llama, Kimi-K2, Gemma, DeepSeek, Qwen)
- 🔴 Google Gemini (Gemini 2.5 Pro, Flash, Lite)
- 🤗 HuggingFace (Lokal modeller, Transformers - Mac uyumlu)
-
İki Test Türü:
- MCQ (Multiple Choice Questions): 131 çoktan seçmeli soru
- SAQ (Short Answer Questions): 422 açık uçlu soru
-
Esnek Model Desteği:
- OpenAI API (GPT-4, GPT-3.5-turbo, vb.)
- Anthropic API (Claude 3 ailesi)
- Together.ai API (Llama, Mixtral, vb.)
- HuggingFace modelleri (vLLM ile lokal çalıştırma)
-
Otomatik Puanlama:
- GPT-4o ile objektif değerlendirme
- MCQ için 0/100 puanlama
- SAQ için 0-100 arası detaylı puanlama (Doğruluk, İçerik, Dil Kalitesi)
-
Kategori Bazlı Analiz:
- Türkçeye Özgü Dil Mekanikleri
- Bağlamsal Anlam ve Çıkarım
- Mantık ve Tutarlılık
- Güvenlik ve Dürüstlük
- Yaratıcı Dönüşüm ve Transfer
- Ve daha fazlası...
-
Gelişmiş Özellikler:
- Kesintiye uğrayan testlerden devam etme
- Ara sonuç kaydetme
- Otomatik retry mekanizması
- Detaylı JSON ve Markdown raporları
- Güzel CLI çıktısı (Rich kütüphanesi)
pip install -r requirements.txtKullanmak istediğiniz provider'lar için API anahtarlarını environment variable olarak ayarlayın:
export OPENAI_API_KEY="your-openai-api-key"
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export TOGETHER_API_KEY="your-together-api-key"python3 benchmark.py --provider openai --model gpt-5-mini --test-type mcqpython3 benchmark.py --provider anthropic --model claude-sonnet-4-5-20250929 --test-type mcqpython3 run_claude_comparison.pypython3 benchmark.py --provider huggingface --model meta-llama/Llama-3-8B --test-type mcqNot: Mac'te CPU/Apple Silicon MPS ile çalışır. Küçük modeller önerilir (~7B).
-
TÜRKÇEYE ÖZGÜ DİL MEKANİKLERİ
- Morfoloji Testleri
- Ünlü Uyumu, Tamlayan-Tamlanan, Kaynaştırmalar
- Ses Olayları (Düşme, Türeme, Yumuşama, Benzeşme)
- Edge Case'ler (Yabancı Kökenli + Türkçe Ek, Özel İsim, Kısaltmalar)
- Birleşik Kelimeler, Yazım ve Ekleşme
- Karışık Testler
-
BAĞLAMSAL ANLAM VE ÇIKARIM
- Gizli Özne / Bağlamsal Neden-Sonuç
- Çok Anlamlılık / Bağlamdan Anlam Seçimi
- Deyim ve Mecaz Çözümleme
- Zamir Çözümleme / Gönderim Belirleme
-
YARATICI DÖNÜŞÜM VE TRANSFER
- Stil Transferi
- Analoji Üretimi
- Format Dönüşümleri
- ARİTMETİK & KISA ADIMLI MUHAKEME
- TALİMAT İZLEME / BİÇİM DAYATMASI
- ÇOK-TUR BELLEK & ÇEKİRDEK BAŞVURU
- DÜRÜSTLÜK/HALÜSİNASYON & GÜVENLİ RET
- TÜRKÇE DİL KENAR DURUMLARI
- KOD VE MİNİ DEBUG
- UZUN-BAĞLAM DİSİPLİN & HEDEFLİ ÇIKARIM
- ARAÇ KULLANIMI BİLİNCİ
- TALİMAT TAKİP DİSİPLİNİ
- Çoklu Kısıtlama
- Format Dayatma
- Sıralı İşlemler
- Çelişkili Talimatlar
- Format İhlali Puanlama
- MANTIK VE TUTARLILIK
- Çelişki Kontrolü
- Geçişlilik
- Sayma Paradoksları
- Kendine Referans
- Klasik Mantık Hataları
- Multi-Hop Reasoning
- Tutarsızlık Tespiti
- GÜVENLİK VE DÜRÜSTLÜK
- Bilgi Sınırı Testleri
- Halüsinasyon Tuzakları
- Zararlı İçerik Reddi
- Bilgi Doğrulama
- Etik Sınır Testleri
- Politik/Hassas Konular
- Manipülasyon Testleri
- Yanlış Bilgi Düzeltme
- Özel Veri Güvenliği
- Tıbbi/Hukuki Tavsiye
- Çocuk Güvenliği
- Bağımlılık/Zararlı Davranışlar
- Komplo Teorileri
- Sosyal Mühendislik
- Sistem Güvenliği
- YARATICI DÖNÜŞÜM VE TRANSFER
- Stil Transferi
- Analoji Üretimi
- Format Dönüşümleri
- Ters Problem Çözme
# TÜRKÇE BENCHMARK SONUÇLARI
**Model:** gpt-4
**Tarih:** 2024-10-26 15:30:00
**Test Tipi:** MCQ
---
## MCQ PERFORMANSI
**Toplam Soru:** 131
**Doğru Cevap:** 105
**Doğruluk Oranı:** 80.15%
**Yanıt Süreleri:**
- Ortalama: 1.23s
- Toplam: 161.13s
## KATEGORİ BAZLI SONUÇLAR
### BAĞLAMSAL ANLAM VE ÇIKARIM - Deyim ve Mecaz Çözümleme
- Toplam: 14 soru
- Doğru: 14 soru
- Doğruluk: **100.00%**
### TÜRKÇEYE ÖZGÜ DİL MEKANİKLERİ - Morfoloji Testleri
- Toplam: 40 soru
- Doğru: 35 soru
- Doğruluk: **87.50%**
...
Detaylı JSON raporları şunları içerir:
- Her soru için model cevabı
- Judge değerlendirmesi ve puanı
- Yanıt süreleri
- Hata mesajları (varsa)
- Kategori bazlı istatistikler
config.yaml dosyasını düzenleyerek ayarları özelleştirebilirsiniz:
# Judge model ayarları
judge:
model: "gpt-4o"
temperature: 0.1
max_tokens: 1000
# Test ayarları
test_settings:
batch_size: 10
timeout_seconds: 60
save_intermediate: true
max_retries: 3
# vLLM ayarları (HuggingFace modelleri için)
local:
vllm_port: 8000
gpu_memory_utilization: 0.9
max_model_len: 4096Farklı modellerin performanslarını detaylı tablolarla karşılaştırın:
# Tüm MCQ sonuçlarını karşılaştır
python3 compare_results.py --type mcq
# Tüm SAQ sonuçlarını karşılaştır
python3 compare_results.py --type saq
# Her iki test tipini karşılaştır
python3 compare_results.py
# Belirli dosyaları karşılaştır
python3 compare_results.py results/gpt-3.5_mcq_*.json results/gpt-4_mcq_*.jsonÖzellikler:
- MCQ ve SAQ için ayrı tablolar
- Kategori bazlı detaylı karşılaştırma
- Renkli performans göstergeleri
- Otomatik sıralama ve kazanan belirleme
Detaylar için: COMPARISON_GUIDE.md
Test yarıda kesilirse --resume flag'i ile kaldığı yerden devam edebilirsiniz:
python3 benchmark.py --provider openai --model gpt-4 --test-type all --resumepython3 benchmark.py --provider openai --model gpt-4 --config custom_config.yaml# Sadece MCQ
python3 benchmark.py --provider openai --model gpt-4 --test-type mcq
# Sadece SAQ
python3 benchmark.py --provider openai --model gpt-4 --test-type saqTurkish-Benchmark/
├── benchmark.py # Ana script
├── config.example.yaml # Konfigürasyon şablonu
├── requirements.txt # Bağımlılıklar
├── README.md # Ana dokümantasyon
├── LICENSE # MIT License
│
├── src/ # Kaynak kodlar
│ ├── __init__.py
│ ├── evaluator.py # Test yürütücü
│ ├── judge.py # Puanlama sistemi
│ ├── reporter.py # Rapor oluşturucu
│ ├── models/ # Model wrapper'ları
│ │ ├── base_model.py # Base sınıf
│ │ ├── api_models.py # API modelleri (OpenAI, Claude, Gemini, Together)
│ │ └── local_models.py # Lokal modeller (HuggingFace/Transformers)
│ └── utils/ # Yardımcı modüller
│ ├── config_loader.py # Config yükleyici
│ └── logger.py # Logger
│
├── data/ # Test verileri
│ ├── MCQ-Türkçe Benchmark.json # 131 MCQ sorusu
│ └── SAQ-Türkçe-Benchmark.json # 422 SAQ sorusu
│
├── docs/ # Dokümantasyon
│ ├── QUICK_START.md # Hızlı başlangıç
│ ├── USAGE_GUIDE.md # Detaylı kullanım
│ ├── CONTRIBUTING.md # Katkı rehberi
│ ├── MODELS.md # Model listesi
│ └── ...
│
├── examples/ # Örnek scriptler
│ ├── run_claude_comparison.py # Claude karşılaştırma
│ ├── run_gpt5_comparison.py # GPT-5 karşılaştırma
│ └── run_comparison_test.py # Genel karşılaştırma
│
├── tools/ # Yardımcı araçlar
│ ├── model_registry.py # Model kayıtları
│ ├── rescore.py # Yeniden puanlama
│ ├── compare_results.py # Sonuç karşılaştırma
│ ├── analyze_saq.py # SAQ analiz
│ └── full_analysis.py # Genel analiz
│
├── results/ # Test sonuçları (gitignore'da)
│ └── intermediate/ # Ara sonuçlar
│
└── logs/ # Log dosyaları (gitignore'da)
- 📖 USAGE_GUIDE.md - Detaylı kullanım kılavuzu (model seçimi, sorun giderme, örnekler)
- 🚀 QUICK_START.md - Hızlı başlangıç rehberi
- 🤝 CONTRIBUTING.md - Katkıda bulunma rehberi
- 🤖 MODELS.md - Tüm desteklenen modeller
- 📋 README.md - Bu dosya (genel bakış)
| Araç | Kullanım | Süre |
|---|---|---|
benchmark.py |
Ana test scripti | 10-60 dk |
examples/run_claude_comparison.py |
Claude karşılaştırma | 25 dk |
examples/run_gpt5_comparison.py |
GPT-5 karşılaştırma | 20 dk |
tools/compare_results.py |
Sonuç karşılaştırma | Hızlı |
tools/model_registry.py |
Model kayıtları | Hızlı |
tools/analyze_saq.py |
SAQ detaylı analiz | Hızlı |
tools/rescore.py |
Yeniden puanlama | 2-5 dk |
tools/full_analysis.py |
Genel analiz | Hızlı |
# Hızlı model karşılaştırma (ÖNERİLEN)
python3 examples/run_claude_comparison.py
# Model kayıtlarını görüntüle
python3 tools/model_registry.py
# Detaylı kılavuz
cat docs/USAGE_GUIDE.mdBu proje açık kaynaklıdır. Katkılarınızı bekliyoruz!
Detaylar için: CONTRIBUTING.md
MIT License - Detaylar için LICENSE dosyasına bakın.
- OpenAI, Anthropic, Together.ai ve HuggingFace ekiplerine
- vLLM ekibine hızlı inference için
- Türkçe dil araştırmacılarına
Alican Kıraz
GitHub: @alicankiraz1
Not: Bu benchmark Türkçe dilinin karmaşıklıklarını test eder. Sonuçlar modellerin genel Türkçe yeteneklerini yansıtır.
