π€ Nano-Analyst: Fine-Tuned SQL Agent
A private, on-device SQL generation model fine-tuned on the Spider dataset.
Model Description
This is a LoRA fine-tuned version of Llama-3-8B-Instruct specialized for Text-to-SQL generation. The model was trained on 6,300 examples from the Spider dataset and achieves 100% valid SQL generation.
Key Features
- β Privacy-Preserving: Runs locally, no API calls required
- β Efficient: QLoRA fine-tuning (only 1.03% parameters trained)
- β Production-Ready: Includes self-correction and RAG retrieval
- β Well-Documented: Complete training and evaluation pipeline
Model Details
- Base Model: meta-llama/Meta-Llama-3-8B-Instruct
- Fine-Tuning Method: QLoRA (4-bit quantization)
- Framework: Unsloth (2x faster training)
- Training Data: Spider dataset (6,300 training examples)
- LoRA Rank: 32
- LoRA Alpha: 64
Training Results
- Final Training Loss: 0.19
- Validation Loss: 0.31
- Training Steps: 1,182
- Training Time: ~3 hours on T4 GPU
Evaluation Results
Evaluated on 100 examples from Spider validation set:
| Metric | Value |
|---|---|
| Valid SQL Generation | 100.0% |
| Exact String Match | 2.0% |
| Successful Queries | 100/100 |
Usage
Loading the Model
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
# Load base model
base_model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Meta-Llama-3-8B-Instruct",
torch_dtype=torch.float16,
device_map="auto"
)
# Load LoRA adapters
model = PeftModel.from_pretrained(
base_model,
"tanvicas/nano-analyst-sql"
)
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct")
Generating SQL
question = "How many users are from California?"
schema = "CREATE TABLE users (id INT, name TEXT, state TEXT);"
# Generate SQL using the model
sql = generate_sql(question, schema)
print(sql) # SELECT COUNT(*) FROM users WHERE state = 'California';
License
Apache 2.0 License. Base model subject to Meta's Llama 3 Community License.
Contact
- GitHub: github.com/tanvicas/nano-analyst
Built for learning and research π
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
π
Ask for provider support
Model tree for tanvicas/nano-analyst-sql
Base model
meta-llama/Meta-Llama-3-8B-Instruct