sql_coder / README.md
BMinal's picture
Update README.md
835aa6f verified
---
library_name: peft
base_model: Qwen/Qwen2.5-7B-Instruct
tags:
- sql
- natural-language-to-sql
- qlora
- lora
- rag
- turkish
- text2sql
license: apache-2.0
language:
- tr
pipeline_tag: text-generation
---
# SQL Coder – Türkçe NL → SQL LoRA Modeli
<img src="https://huggingface.co/BMina/sql_coder/resolve/main/Untitled%20diagram-2025-11-28-111904.png" width="100%" />
## 🧠 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
```python
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