--- base_model: TinyLlama/TinyLlama-1.1B-Chat-v1.0 library_name: peft pipeline_tag: text-generation tags: - base_model:adapter:TinyLlama/TinyLlama-1.1B-Chat-v1.0 - lora - sft - transformers - trl - text-to-sql datasets: - b-mc2/sql-create-context --- # 🤖 TinyLlama Text-to-SQL (LoRA Adapter) هذا النموذج عبارة عن **LoRA Adapter** تم تدريبه لتعديل سلوك نموذج `TinyLlama-1.1B` ليصبح متخصصاً في تحويل الأسئلة باللغة الطبيعية إلى كود SQL دقيق بناءً على هيكل الجدول (Schema) المعطى له، دون أي ثرثرة زائدة. - **Developed by:** Adam Abu Hamdan - **Model type:** PEFT (LoRA) - **Language:** English (Text & SQL) - **Finetuned from model:** TinyLlama/TinyLlama-1.1B-Chat-v1.0 --- ## 💡 كيف يعمل النموذج (How to Get Started) يمكنك تشغيل هذا النموذج ودمج الأدابتر (الـ 20 ميجابايت) مع النموذج الأساسي باستخدام الكود التالي في بايثون: ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel BASE_MODEL = "TinyLlama/TinyLlama-1.1B-Chat-v1.0" ADAPTER_MODEL = "adamabuhamdan/tinyllama-sql-lora" # 1. تحميل المترجم والنموذج الأساسي tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL) base_model = AutoModelForCausalLM.from_pretrained( BASE_MODEL, torch_dtype=torch.float16, device_map="auto", ) # 2. دمج أوزان LoRA التي قمنا بتدريبها model = PeftModel.from_pretrained(base_model, ADAPTER_MODEL) model.eval() # 3. تجربة توليد كود SQL schema = "CREATE TABLE employees (id INT, name TEXT, department TEXT, salary INT);" question = "List the names of employees in Engineering earning more than 100000." prompt = f"<|system|>\nYou are a SQL assistant. Given a table schema and a question, reply with ONLY the SQL query, nothing else.\n<|user|>\nSchema:\n{schema}\n\nQuestion: {question}\n<|assistant|>\n" inputs = tokenizer(prompt, return_tensors="pt").to(model.device) with torch.no_grad(): outputs = model.generate(**inputs, max_new_tokens=100, do_sample=False) print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True).strip())