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

  1. Space'i açın. Hazır zor vaka listesinden bir vaka seçin ya da Olay alanına kendi metninizi yazın.
  2. Sorular listesinden soruları işaretleyin; isterseniz Özel sorular (JSON) ile kendi sorularınızı ekleyin.
  3. 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 olaylarda talep_sonucu ve sure_sorunu iç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-LLM metin 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-LLM erişimi gerekmez.
  • Lisans cc-by-nc-4.0 (AlicanKiraz0/Mizan-27B-Turkish-Legal-LLM ile aynı; ticari olmayan kullanım).

Kart 2026-10-31 tarihinde üretildi.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model

Base model

Qwen/Qwen3.6-27B
Finetuned
(429)
this model

Space using AlicanKiraz0/Mizan-27B-Turkish-Legal-Decision-Model 1

Evaluation results

  • accuracy (calibrated) on legal decision test split (1000 records)
    self-reported
    0.949
  • ECE (calibrated) on legal decision test split (1000 records)
    self-reported
    0.010
  • NLL (calibrated) on legal decision test split (1000 records)
    self-reported
    0.147