SQLForge-7B / README.md
sriksven's picture
Create README.md
bf7c7f8 verified
---
license: apache-2.0
base_model: Qwen/Qwen2.5-7B-Instruct
tags:
- sql
- text-to-sql
- qlora
- unsloth
- qwen2.5
- database
- natural-language-to-sql
datasets:
- gretelai/synthetic_text_to_sql
language:
- en
pipeline_tag: text-generation
library_name: transformers
model-index:
- name: SQLForge-7B
results: []
---
# SQLForge-7B
A fine-tuned **Qwen2.5-7B-Instruct** model specialized for **natural language to SQL generation**. Given a database schema and a question in plain English, it writes the correct SQL query and explains what it does.
## Key Details
| | |
|---|---|
| **Base model** | Qwen/Qwen2.5-7B-Instruct |
| **Method** | QLoRA (4-bit NF4, rank 16, alpha 16) |
| **Library** | Unsloth + TRL SFTTrainer |
| **Dataset** | gretelai/synthetic_text_to_sql (10K examples from 100K) |
| **Hardware** | NVIDIA RTX A5000 (24GB VRAM) on RunPod |
| **Training time** | ~2.75 hours (500 steps) |
| **Final loss** | 0.414 |
| **Parameters trained** | 40.4M of 7.66B (0.53%) |
| **Format** | ChatML |
| **Output** | Merged 16-bit safetensors |
## Dataset
Trained on 10,000 examples from the [gretelai/synthetic_text_to_sql](https://huggingface.co/datasets/gretelai/synthetic_text_to_sql) dataset, which covers 100 domains with a wide range of SQL complexity levels including subqueries, joins, aggregations, window functions, and set operations. Each example includes the database schema (CREATE TABLE statements), a natural language question, the correct SQL query, and an explanation.
## Usage
### Transformers
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("sriksven/SQLForge-7B")
tokenizer = AutoTokenizer.from_pretrained("sriksven/SQLForge-7B")
messages = [
{
"role": "system",
"content": "You are an expert SQL assistant. Given a database schema and a natural language question, write the correct SQL query and explain what it does.",
},
{
"role": "user",
"content": (
"Schema:\n"
"CREATE TABLE employees (id INT, name VARCHAR(100), department VARCHAR(50), salary DECIMAL(10,2));\n"
"CREATE TABLE departments (name VARCHAR(50), budget DECIMAL(12,2));\n\n"
"Question: What is the average salary by department, only showing departments with average salary above 75000?"
),
},
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
outputs = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
### Unsloth (faster inference)
```python
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="sriksven/SQLForge-7B",
max_seq_length=2048,
load_in_4bit=True,
)
FastLanguageModel.for_inference(model)
```
## SQL Complexity Coverage
The training data includes queries across multiple complexity levels:
- Simple SELECT with WHERE clauses
- Aggregations with GROUP BY and HAVING
- Single and multiple JOINs
- Subqueries and correlated subqueries
- Window functions (ROW_NUMBER, RANK, LAG, LEAD)
- Set operations (UNION, INTERSECT, EXCEPT)
- Data definition (CREATE, ALTER, INSERT)
## Intended Use
- Natural language interfaces to databases
- SQL copilot tools for analysts and developers
- Educational tools for learning SQL
- Prototyping data query systems
## Limitations
- Trained on synthetic data, not real production database queries
- May not handle highly domain-specific or proprietary SQL dialects
- Best with standard SQL syntax (PostgreSQL/MySQL style)
- Does not validate against a live database — SQL correctness is not guaranteed
- Long or deeply nested schemas may exceed the 2048 token context
## Training Infrastructure
| | |
|---|---|
| **GPU** | NVIDIA RTX A5000 24GB |
| **Cloud** | RunPod ($0.27/hr) |
| **Framework** | Unsloth 2026.5.2 + TRL + Transformers 5.5.0 |
| **Precision** | BF16 training, 4-bit NF4 base quantization |
| **Optimizer** | AdamW 8-bit |
| **Learning rate** | 2e-4, linear decay |
| **Batch size** | 16 effective (4 per device × 4 accumulation) |
| **Packing** | Enabled |
## Source Code
Training scripts: [github.com/sriksven/LLM-FineTune-Suite](https://github.com/sriksven/LLM-FineTune-Suite)
## License
Apache 2.0