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