llama_3.2_1b_SQL / README.md
Adhishtanaka's picture
Update README.md
bb0a23e verified
---
license: mit
datasets:
- mlabonne/synthetic_text_to_sql-ShareGPT
language:
- en
base_model:
- unsloth/Llama-3.2-1B
tags:
- sql-generation
- llama
- unsloth
- text-to-sql
- lora
---
# Fine-tuning LLaMA 3.2 1B for SQL Generation
This project is about fine-tuning a small LLaMA model (1B) to generate SQL queries from natural language. I'm using a dataset that contains examples of how people ask questions and how those get translated into SQL.
## What I'm Doing
* I'm starting with a pre-trained LLaMA 3.2 1B model.
* I use a dataset called `synthetic_text_to_sql-ShareGPT` which has examples of prompts and the corresponding SQL queries.
Dataset URL: [https://huggingface.co/datasets/mlabonne/synthetic_text_to_sql-ShareGPT](https://huggingface.co/datasets/mlabonne/synthetic_text_to_sql-ShareGPT)
* I fine-tune the model using Unsloth libary with LoRA Adapters. This allows me to train only parts of the model, which makes it much faster and memory-efficient.
## Evaluation Process
The evaluation pipeline is implemented in `Evaluate_LLM.ipynb`:
1. **SQL Question Generation** : Groq’s `llama3-8b-8192` model generates 10 SQL question blocks, each with table creation, inserts, and a natural language SQL question.
2. **Model Answering** : Each question is passed to a local fine-tuned LLaMA model (using `llama-cpp-python`) to generate SQL queries and explanations.
3. **Automated Evaluation** : Groq’s `gemma2-9b-it` model acts as an expert tutor to score each (question, answer) pair on correctness and completeness (1–10 scale) and provide feedback.
4. **Summary** : Average scores and detailed feedback for all questions are output.
*Note:*
- The question generation and evaluation both use Groq's hosted models (Llama 3_8b for question generation, Gemma 2_9b for evaluation).
- The local LLaMA_3.2_1b fine tuned model is only used for generating answers.
- Normally, I use Gemini for evaluation, but due to Gemini being slow today, I used Groq for both question generation and evaluation in this run.
## Why I’m Doing This
I want to build a model that can understand plain English and generate accurate SQL queries. This can be useful for tools where people want to ask questions about their data without writing SQL themselves.
## Where to Find the Model & Notebooks
You can find the fine-tuned model, including the .gguf file format for easy local use, on my Hugging Face repository:
👉 https://huggingface.co/Adhishtanaka/llama_3.2_1b_SQL/tree/main
You can find the Jupyter Notebook files used in this project directly in this repository:
- `Evaluate_LLM.ipynb`: The evaluation pipeline for the fine-tuned model.
- `Llama3.2_1B-SQL.ipynb`: The main notebook for fine-tuning and experimentation.
👉 Browse these files in the [GitHub repository](https://github.com/Adhishtanaka/llama3.2_1.b-SQL) for full code and documentation.