SQL Coder – Türkçe NL → SQL LoRA Modeli
🧠 Model Hakkında
Bu model, Türkçe doğal dilde yazılmış soruları PostgreSQL şemasına uygun SQL komutlarına dönüştürmek için, Qwen2.5-7B-Instruct tabanı üzerine QLoRA yöntemiyle eğitilmiştir.
🚀 Özellikler
- Türkçe NL → SQL dönüşümü
- PostgreSQL uyumlu çıktı
- Şema farkındalığı (table + column awareness)
- Güvenli sorgu üretimi (JOIN kuralları, yanlış tablo engelleme vb.)
- LoRA ile hafif ve hızlı fine-tuning
🏗️ Eğitim Detayları
- Base Model: Qwen/Qwen2.5-7B-Instruct
- Yöntem: 4-bit QLoRA
- Epoch: 2
- LR: 2e-4
- Batch Size: 2
- Max Seq Length: 2048
- Dataset Boyutu: 2.8k NL→SQL örneği
📁 Dosya Yapısı
- adapter_model.safetensors
- adapter_config.json
- training_args.bin
- tokenizer.model / tokenizer.json
- README.md (bu dosya)
🔧 Kullanım
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = "Qwen/Qwen2.5-7B-Instruct"
lora = "BMina/sql_coder"
tokenizer = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base)
model = PeftModel.from_pretrained(model, lora)
prompt = "Tüm müşterilerin ad ve soyadlarını getir."
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=150)
print(tokenizer.decode(outputs[0]))
📊 Örnek Sorgular
| Soru | SQL |
|---|---|
| “Tüm kullanıcıları listele” | SELECT * FROM users; |
| “Her departmandaki kişi sayısı nedir?” | SELECT dept, COUNT(*) FROM users GROUP BY dept; |
📜 Lisans
MIT License
- Downloads last month
- 18