Skip to content

SqlGPT is a fine-tuned CodeT5-small model designed to translate natural language questions into SQL queries. It leverages the WikiSQL dataset and LoRA (Low-Rank Adaptation) for efficient training. This project demonstrates how to adapt a pre-trained language model for text-to-SQL tasks, enabling users to query structured data using plain English.

Notifications You must be signed in to change notification settings

mahendrarathore1742/SqlGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

license tags library_name pipeline_tag
apache-2.0
codet5
sql-generation
text2sql
lora
peft
wikisql
transformers
text2text-generation

πŸš€ SqlGPT LoRA fine-tuned on WikiSQL

This model is a LoRA fine-tuned version of Salesforce/codet5-small for natural language to SQL query generation on the WikiSQL dataset.

It uses PEFT (LoRA) to adapt the base model efficiently with minimal extra parameters.
Useful for learning and prototyping text-to-SQL tasks on simple table schemas.


πŸ“š Training Details

  • Base Model: Salesforce/codet5-small
  • Adapter: LoRA (r=8, alpha=16) on attention q and v modules.
  • Dataset: WikiSQL (21k train, 3k val)
  • Input Format: question: <QUESTION> table: <TABLE_HEADERS>
  • Target: Human-readable SQL query
  • Epochs: 1–3 recommended for small runs.
  • Framework: πŸ€— Transformers + PEFT

🧩 Example Usage

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

# Replace with your actual HF repo name
model_name = "Mahendra1742/SqlGPT"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)

# Example input
question = "How many employees are in the Marketing department?"
table = "| department | employees |"

prompt = f"question: {question} table: {table}"

inputs = tokenizer(prompt, return_tensors="pt")

outputs = model.generate(**inputs, max_length=128)

print("OUTPUT :- ")
print("   ")
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Input

question: How many cities have a population over 1 million? table: | City | Population |

Output

SELECT COUNT(*) FROM table WHERE Population > 1000000

About

SqlGPT is a fine-tuned CodeT5-small model designed to translate natural language questions into SQL queries. It leverages the WikiSQL dataset and LoRA (Low-Rank Adaptation) for efficient training. This project demonstrates how to adapt a pre-trained language model for text-to-SQL tasks, enabling users to query structured data using plain English.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published