|
--- |
|
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) |