metadata
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 ميجابايت) مع النموذج الأساسي باستخدام الكود التالي في بايثون:
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.</s>\n<|user|>\nSchema:\n{schema}\n\nQuestion: {question}</s>\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())