| --- |
| 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 |
| |
| |