SQLNova / README.md
mervp's picture
Update README.md
729a32f verified
---
license: mit
base_model: Deepseek-R1
tags:
- text-generation
- sql
- lora
- unsloth
- Deepseek
---
# 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](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
```python
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)