Mizan-27B-Turkish-Legal-Decision-Model
Türkçe hukuk için metin üretmeyen karar modeli. Bir olay özeti (state) ile tipli sorular alır; tek forward pass'te
her soru için kalibre olasılık dağılımı döndürür.
Hemen deneyin: Mizan test Space'i kurulum istemez. Hazır zor vakalardan birini seçin ya da kendi olayınızı yazın.
Hukuki tavsiye değildir. Çıktılar uzman incelemesi için önceliklendirme sinyalidir; model avukatın ya da resmî mevzuat kaynağının yerini tutmaz.
Model zinciri: Qwen/Qwen3.6-27B üzerine hukuk SFT'si olan AlicanKiraz0/Mizan-27B-Turkish-Legal-LLM + LoRA (bu depoda gövdeye birleştirilmiş) + küçük bir
pointer head. Karar API'sinin biçimi Jev ve Drex gibi karar modellerinden esinlenmiştir. Kaynak kod: code/ altındaki paket ve Space dosyaları.
English: non-generative Turkish legal decision model — case summary + typed questions → calibrated probabilities over the options in one forward pass. Merged LoRA on a Qwen3.6-27B legal backbone with a pointer head, temperature-scaled on a dev split. Reported accuracies are agreement with LLM-produced labels. Try it in the Space; not legal advice.
Space'te deneyin
- Space'i açın. Hazır zor vaka listesinden bir vaka seçin ya da Olay alanına kendi metninizi yazın.
- Sorular listesinden soruları işaretleyin; isterseniz Özel sorular (JSON) ile kendi sorularınızı ekleyin.
- Karar ver'e basın. Her soru için karar, olasılık, güven ve seçenek çubukları gelir; zor vakalarda beklenen etiketle karşılaştırma da görünür.
Space ZeroGPU'da çalışır: ilk istek 30–60 sn sürebilir, sonrakiler birkaç saniyedir. Hugging Face hesabınızla giriş yapıp Space'i huggingface.co üzerinden açın: günlük GPU kotası hesapla 5 dk, PRO ile 40 dk'dır. Girişsiz kullanımda kota 2 dk'dır ve çalıştırma sayısı da sınırlıdır; birkaç istekten sonra ZeroGPU runs limit hatası görülebilir.
Programdan çağırmak için (hf auth login yaptıysanız kota hesabınızdan düşer; girişsiz de çalışır ama aynı sınırlara takılır):
from gradio_client import Client
client = Client("AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model")
resp = client.predict(
state="İşçi üç yıl çalıştı, haklı neden gösterilmeden çıkarıldı; kıdem ve ihbar tazminatı istiyor.",
questions_json="", # boş: eğitimdeki 6 soru; kendi sorularınız için istek biçimindeki JSON
api_name="/karar",
)
print(resp["answers"]["talep_sonucu"])
MCP sunucusu (aynı karar aracı): https://alicankiraz0-mizan-27b-turkish-legal-decision-model.hf.space/gradio_api/mcp/
Hızlı başlangıç
pip install -U huggingface_hub
hf download AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model --include "code/*" --local-dir .
pip install code/decision_model-0.1.0-py3-none-any.whl # torch, transformers, peft, fastapi bağımlılıklarıyla
from decision_model.inference import Predictor
predictor = Predictor.load("AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model", "cuda") # ~52 GB bf16; Hub kimliği ya da yerel dizin
resp = predictor.decide(state, questions) # istek biçimi aşağıda
resp.answers["talep_sonucu"].probabilities # -> {'yerinde': 0.05, 'kismen': 0.02, 'yerinde_degil': 0.93}
dm-serve --adapter_dir AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model --port 8000 # HTTP: POST /v1/decisions, GET /health
curl -s localhost:8000/v1/decisions -H 'content-type: application/json' -d @request.json
bf16 ağırlıklar için ≈52 GB GPU belleği gerekir. Test edilen sürümler: torch 2.14.1+cu130, transformers 5.20.2, peft 0.21.2. Hibrit gövdenin linear-attention katmanları için flash-linear-attention önerilir (yoksa
yavaş torch fallback).
Örnek istek ve yanıt
request.json — gerçek bir vaka (training/hard_cases_20.jsonl, hard-15):
{
"state": "(A), 5 Şubat 2025'te komşusu (B) tarafından basit tıbbi müdahaleyle giderilebilecek şekilde yaralanmış ve faili aynı gün tanımıştır. A, o dönemde şikâyetçi olmamış; 20 Ekim 2025'te savcılığa şikâyet dilekçesi vermek istemektedir. Şikâyet üzerine soruşturma yürütülüp B cezalandırılabilir mi?",
"questions": {
"talep_sonucu": {
"type": "choice",
"instructions": "Soruda ileri sürülen talep, iddia veya tasarlanan işlem hukuken yerinde midir?",
"criteria": {
"yerinde": "Talep/iddia hukuken yerindedir; istenen sonuç büyük olasılıkla elde edilir",
"kismen": "Kısmen yerindedir; sonuç şarta, miktara veya ek koşula bağlıdır",
"yerinde_degil": "Talep/iddia hukuken yerinde değildir; istenen sonuç elde edilemez"
}
},
"sure_sorunu": {
"type": "noul",
"instructions": "Olayda hak düşürücü süre, zamanaşımı veya dava/başvuru süresi sonucu belirleyen bir unsurdur."
},
"karmasiklik": {
"type": "score",
"instructions": "Hukuki sorunun karmaşıklık düzeyi",
"criteria": [
"basit: tek bir norm doğrudan uygulanır, istisna veya yorum ihtiyacı yok",
"orta: birden fazla norm, istisna veya şarta bağlı değerlendirme gerekir",
"karmaşık: içtihat çatışması, çok adımlı değerlendirme veya birden fazla hukuk alanı kesişimi"
]
}
}
}
Yanıt — modelin gerçek çıktısı (H100 SXM 80 GB, bf16; latency_ms alanı da döner, 6 soruluk tam istek 397 ms):
{
"model": "Mizan-27B-Turkish-Legal-Decision-Model",
"answers": {
"talep_sonucu": {
"type": "choice",
"choice": "yerinde_degil",
"probabilities": {
"yerinde": 0.052,
"kismen": 0.021,
"yerinde_degil": 0.927
},
"confidence": 0.723
},
"sure_sorunu": {
"type": "noul",
"noul": 0.984
},
"karmasiklik": {
"type": "score",
"score": 0.314,
"legend": [
"basit: tek bir norm doğrudan uygulanır, istisna veya yorum ihtiyacı yok",
"orta: birden fazla norm, istisna veya şarta bağlı değerlendirme gerekir",
"karmaşık: içtihat çatışması, çok adımlı değerlendirme veya birden fazla hukuk alanı kesişimi"
],
"probabilities": [
0.687,
0.313,
0.0
],
"confidence": 0.431
}
},
"usage": {
"input_tokens": 631,
"output_tokens": 0
}
}
| soru tipi | istekte | yanıtta |
|---|---|---|
choice |
instructions + criteria: seçenek adı → açıklama (2–255) |
choice, probabilities (seçenek → p), confidence |
noul |
instructions: tek bir önerme |
noul = p(evet) |
score |
instructions + criteria: düşükten yükseğe seviye listesi (2–10) |
score (olasılık ağırlıklı seviye, 0..K−1), probabilities, legend, confidence |
confidence = 1 − normalize entropi (1 = tüm kütle tek seçenekte). Olasılıklar calibration.json sıcaklığıyla (T = 1.070)
otomatik ölçeklenir. Soru seti serbesttir: kendi soru ve seçenek metinlerinizi verebilirsiniz; model eğitimde görmediği
seçeneklere de olasılık üretir (kalite düşebilir). state metin, JSON nesnesi ya da liste olabilir.
Eğitimdeki sorular (v1 soru bankası)
| soru | tip | seçenek | soru metni |
|---|---|---|---|
hukuk_alani |
choice | 14 | Bu olay ve soru öncelikle hangi hukuk alanına girer? |
temel_mevzuat |
choice | 13 | Uyuşmazlığın çözümünde esas alınacak temel kanun hangisidir? |
yargi_yolu |
choice | 7 | Bu uyuşmazlık için izlenecek birincil yol hangisidir? |
talep_sonucu |
choice | 3 | Soruda ileri sürülen talep, iddia veya tasarlanan işlem hukuken yerinde midir? |
sure_sorunu |
noul | 2 | Olayda hak düşürücü süre, zamanaşımı veya dava/başvuru süresi sonucu belirleyen bir unsurdur. |
karmasiklik |
score | 3 | Hukuki sorunun karmaşıklık düzeyi |
Sonuçlar (held-out test, 1.000 kayıt / 5.505 soru, kalibre)
| Küme | n | acc | NLL | ECE | Brier |
|---|---|---|---|---|---|
| Tümü | 5505 | 0.949 | 0.147 | 0.010 | 0.080 |
| choice | 3576 | 0.953 | 0.133 | 0.011 | 0.071 |
| noul (evet/hayır) | 990 | 0.947 | 0.151 | 0.021 | 0.084 |
| score (ölçek) | 939 | 0.933 | 0.194 | 0.021 | 0.109 |
- Güven eşiği ≥ 0.90: kapsam %86.5, kapsamdaki doğruluk 0.984
(act / review / escalate bantları için tüm eşikler:
training/test_report_calibrated.json→coverage). - Kalibrasyon: dev setinde temperature scaling, T = 1.070 (dev ECE 0.008 → 0.006); dev doğruluğu 0.954. Doğruluklar LLM etiketleriyle (DeepSeek v4.1 flash) uyumdur; insan QC örneği yok.
- Zor vaka seti (Opus 5.5 ve Astra ile hazırlanmış 20 sınır/istisna/süre tuzağı;
training/hard_cases_20.jsonl,training/hard_cases_report.json): 119 sorunun 93 tanesinde tam uyum, doğruluk 0.782 (kabul edilebilir alternatiflerle 0.882). Hatalar "genel kural doğru, istisna/süre kaçırılıyor" örüntüsünde; sürenin veya istisnanın sonucu belirlediği olaylardatalep_sonucuvesure_sorunuiçin insan incelemesi önerilir.
Depo içeriği
| yol | içerik |
|---|---|
backbone/ |
LoRA birleştirilmiş gövde (bf16 safetensors, 25.6 B parametre; 5 işaretçi tokenının eğitilmiş embedding satırları dâhil) |
head.pt |
pointer head (2.64 M parametre) |
decision_config.json, calibration.json, tokenizer |
yükleyici ayarları, sıcaklık, 5 ek özel token |
adapter/ |
orijinal LoRA adaptörü (r=16, α=32) — kullanım için gerekmez; ayrı yüklemek AlicanKiraz0/Mizan-27B-Turkish-Legal-LLM erişimi ister |
code/ |
decision_model paketi (decision_model-0.1.0-py3-none-any.whl): yükleyici, Predictor, dm-serve, eğitim/değerlendirme araçları |
training/ |
test/dev raporları, kalibrasyon, train_log.jsonl, eğitim config'i, zor vaka seti + raporu |
export_info.json |
birleştirme doğrulaması (gövde çıktısı kosinüs 0.99999, embedding eşleşmesi True) |
Eğitim (özet)
- Veri: 30.197 kayıt / 165.558 soru örneği (train); dev 1.000 / test 1.000 kayıt; Türkçe hukuk soru-cevaplarından LLM ile etiketlenmiş (soru başına applicable + güven filtresi).
- Model:
AlicanKiraz0/Mizan-27B-Turkish-Legal-LLMmetin gövdesi, bf16, soru başına ayrı dizi (per_question), max_length 2048; LoRA r=16, α=32 (q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj, in_proj_qkv, in_proj_z, out_proj); maskeli çapraz entropi + ordinal ceza (0.1). - Koşu: 1× H100 SXM 80 GB, 5.170 adım (1 epoch, etkin batch 32), 9.5 saat, ~1.552 tok/s, GPU tepe 61.1 GB; epoch sonu tam dev loss 0.124 / acc 0.954.
Sınırlamalar ve lisans
- Hukuki tavsiye vermez; çıktılar uzman incelemesi için önceliklendirme/yönlendirme sinyalidir. Yüksek etkili kararlarda güven eşiği + insan incelemesi bantları kullanılmalıdır.
- Etiketler LLM üretimi; nadir sınıflar (
kira,icra_iflas,iik,vergi,karmasiklik=0) eğitimde %1'in altında. Kalibrasyon yalnız Türkçe hukuk alanı için geçerlidir. - Eğitim verisi bu depoyla dağıtılmaz. Bu depo tek başına çalışır: birleşik gövde burada,
AlicanKiraz0/Mizan-27B-Turkish-Legal-LLMerişimi gerekmez. - Lisans
cc-by-nc-4.0(AlicanKiraz0/Mizan-27B-Turkish-Legal-LLMile aynı; ticari olmayan kullanım).
Kart 2026-10-31 tarihinde üretildi.
Model tree for AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model
Base model
Qwen/Qwen3.6-27BSpace using AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model 1
Evaluation results
- accuracy (calibrated) on legal decision test split (1000 records)self-reported0.949
- ECE (calibrated) on legal decision test split (1000 records)self-reported0.010
- NLL (calibrated) on legal decision test split (1000 records)self-reported0.147