| # SQLCoder V2 — Türkçe NL→SQL LoRA Modeli | |
| Bu README, HuggingFace model sayfan için hazırlanmış indirilebilir dosyadır. | |
| ## 🧠 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 | |