SQLNova - LoRA Fine-Tuned Deepseek 8B for Text-to-SQL Generation
SQLNova is a lightweight LoRA adapter fine-tuned on top of Unsloth’s Architecture. It is designed to convert natural language instructions into valid SQL queries with minimal compute overhead, making it ideal for integration into data-driven applications or chat interfaces.
The model was trained on over 100,000 natural language-to-SQL pairs spanning diverse domains, including Education, Technical, Healthcare, and more.
Model Dependencies
- Python Version:
3.10
- libraries:
unsloth
- pip install unsloth
Model Highlights
- Base model:
Deepseek R1 8B Distilled Llama
- Tokenizer: Compatible with
Deepseek R1 8B Distilled Llama
- Fine tuned for: Text to SQL Converter
- Accuracy: > 85%
- Language: English Natural Language Sentences finetuned
- Format:
safetensors
General Information
- Model type: Text Generation
- Language: English
- License: MIT
- Base model: DeepSeek R1 distilled on Llama3 8B
Model Repository
- Hugging Face Model Card: https://huggingface.co/mervp/SQLNova
💡 Intended Uses
Applications
- Generating SQL queries from natural language prompts
- Powering AI assistants for databases
- Enhancing SQL query builders or no-code data tools
- Automating analytics workflows
Limitations
While SQLNova performs well in many real-world scenarios Since its a Reasoning Model, there are some limitations:
- It may produce invalid SQL for rare or malformed inputs in rarest cases.
- Assumes a generic SQL dialect, resembling MySQL/PostgreSQL syntax.
Recommendation for Use of Model
- Always validate generated SQL before executing in production.
- Include schema context in prompts to improve accuracy.
- Use with human-in-the-loop review for critical applications.
Thanks for visiting and downloading this model! If this model helped you, please consider leaving a like. Your support helps this model reach more developers and encourages further improvements if any.
How to Use the Model
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="mervp/SQLNova",
max_seq_length=2048,
dtype=None,
)
prompt = """ You are an text to SQL query translator.
Users will ask you questions in English
and you will generate a SQL query based on their question
SQL has to be simple, The schema context has been provided to you.
### User Question:
{}
### Sql Context:
{}
### Sql Query:
{}
"""
question = "List the names of customers who have an account balance greater than 6000."
schema = """
CREATE TABLE socially_responsible_lending (
customer_id INT,
name VARCHAR(50),
account_balance DECIMAL(10, 2)
);
INSERT INTO socially_responsible_lending VALUES
(1, 'james Chad', 5000),
(2, 'Jane Rajesh', 7000),
(3, 'Alia Kapoor', 6000),
(4, 'Fatima Patil', 8000);
"""
inputs = tokenizer(
[prompt.format(question, schema, "")],
return_tensors="pt",
padding=True,
truncation=True
).to("cuda")
output = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.2,
top_p=0.9,
top_k=50,
do_sample=True
)
decoded_output = tokenizer.decode(output[0], skip_special_tokens=True)
if "### Sql Query:" in decoded_output:
sql_query = decoded_output.split("### Sql Query:")[-1].strip()
else:
sql_query = decoded_output.strip()
print(sql_query)
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support