Text Generation
Adapters
Safetensors
English
unsloth,
pytorch,
deepseek-R1,
inference-endpoint,
sql-code-generation,
conversational
Instructions to use imsanjoykb/deepSQL-R1-distill-8B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Adapters
How to use imsanjoykb/deepSQL-R1-distill-8B with Adapters:
from adapters import AutoAdapterModel model = AutoAdapterModel.from_pretrained("undefined") model.load_adapter("imsanjoykb/deepSQL-R1-distill-8B", set_active=True) - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| language: | |
| - en | |
| base_model: | |
| - deepseek-ai/DeepSeek-R1 | |
| new_version: imsanjoykb/deepSQL-R1-distill-8B | |
| pipeline_tag: text-generation | |
| library_name: adapter-transformers | |
| library_name2: transformers | |
| tags: | |
| - unsloth, | |
| - pytorch, | |
| - deepseek-R1, | |
| - inference-endpoint, | |
| - sql-code-generation, | |
| metrics: | |
| - accuracy | |
| - bleu | |
| <div align="center"> | |
| <img src="https://raw.githubusercontent.com/imsanjoykb/deepSQL-R1-distill-8B/refs/heads/master/assets/logomain.png" alt="Repo banner"> | |
| </div> | |
| <div align="center" style="line-height: 1;"> | |
| <a href="https://huggingface.co/imsanjoykb/deepSQL-R1-distill-8B" target="_blank" style="margin: 2px;"> | |
| <img alt="Hugging Face Model" src="https://img.shields.io/badge/HuggingFace-Model-FF6F00?style=for-the-badge&logo=huggingface&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://drive.google.com/file/d/145PP-oW50OMS1bYJaYuUphfufpsuOGWl/view?usp=sharing" target="_blank" style="margin: 2px;"> | |
| <img alt="Open In Colab" src="https://img.shields.io/badge/Open%20in%20Colab-FF6F00%2F000000?style=for-the-badge&logo=googlecolab&logoColor=white&labelColor=FF6F00" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://www.kaggle.com/code/imsanjoykb/inference-deepsql-r1-distill-8b" target="_blank" style="margin: 2px;"> | |
| <img alt="Kaggle Notebook" src="https://img.shields.io/badge/Kaggle-Notebook-20BEFF?style=for-the-badge&logo=kaggle&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://github.com/imsanjoykb/deepSQL-R1-distill-8B" target="_blank" style="margin: 2px;"> | |
| <img alt="GitHub Repo" src="https://img.shields.io/badge/GitHub-Repo-181717?style=for-the-badge&logo=github&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://huggingface.co/spaces/imsanjoykb/deepSQL-R1-distill-8B" target="_blank" style="margin: 2px;"> | |
| <img alt="Gradio App" src="https://img.shields.io/badge/Chat%20App-Gradio-0084FF?style=for-the-badge&logo=gradio&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://colab.research.google.com/drive/1ze7qAQnjppZKfxNVBXXlOBTM6xFWEYrJ?usp=sharing" target="_blank" style="margin: 2px;"> | |
| <img alt="Gradio-Colab" src="https://img.shields.io/badge/Gradio-Colab-0084FF?style=for-the-badge&logo=gradio&labelColor=F9AB00" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://doi.org/10.6084/m9.figshare.28330301.v1" target="_blank" style="margin: 2px;"> | |
| <img alt="Figshare" src="https://img.shields.io/badge/Figshare-DOI-0085CA?style=for-the-badge&logo=figshare&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| </div> | |
| <p align="center"> | |
| <a href="https://doi.org/10.6084/m9.figshare.28330301.v1"><b>Paper Link</b>👁️</a> | |
| </p> | |
| ## Abstract | |
| State-of-the-art advances in LLMs have pushed NLP to its limits, where even complex tasks, such as code generation, can be automated. This paper describes the deepSQL-R1-distill-8B, a fine-tuned and quantized model variant of the DeepSeek-R1 model architecture and specifically optimized for text-to-SQL conversion. Fine-tuning was performed using Unsloth, one of the most efficient frameworks for fine-tuning LLMs, in combination with Parameter-Efficient Fine-Tuning and the SFTTrainer framework. This allows domain-specific adaptation with minimal resource consumption. The approach fine-tunes curated datasets by LoRA, ensuring a more parameter-efficient and lower-memory-consuming model. Besides this, we investigate reinforcement learning techniques to further enhance the model's ability in generating accurate and contextually appropriate SQL queries. Combination of 8-bit quantization, LoRA, Unsloth, and reinforcement learning places deepSQL-R1-distill-8B as one of the cutting-edge solutions for automatic SQL code generation in real-world applications. Addressing major challenges in computational efficiency, domain-specific adaptation, and reinforcement-based refinement, this model is leading the way toward a more intuitive and resource-effective way of interacting with relational databases. | |
| ## Model Download | |
| | **Model** | **#Total Params** | **#Active Params** | **Context Length** | **Download** | | |
| | :-----------------------------: | :---------------: | :----------------: | :----------------: | :----------------------------------------------------------: | | |
| | deepSQL-R1-distill-8B | 8B | 6B | 128k | [🤗 HuggingFace](https://huggingface.co/imsanjoykb/deepSQL-R1-distill-8B) | | |
| ## Benchmarking | |
| ## 📊 SQL Model Benchmarking - Comprehensive Evaluation | |
| | Rank | LLM Name | SqlEval-Classic (%) | Execution Accuracy (%) | Query Optimization (%) | Latency (ms) | | |
| |------|----------------------------|---------------------|-----------------------|-----------------------|--------------| | |
| | 1️⃣ | GPT-4o | 86 | 91 | 88 | 120 | | |
| | 2️⃣ | deepSQL-R1-distill-8B | 82 | 89 | 85 | 110 | | |
| | 3️⃣ | deepseek-R1 | 78 | 84 | 86 | 150 | | |
| | 4️⃣ | Claude-3-Sonnet | 72 | 8o | 80 | 130 | | |
| | 5️⃣ | llama3.2 | 68 | 72 | 76 | 170 | | |
| | 6️⃣ | Mistral-7B | 62 | 76 | 69 | 190 | | |
| 🚀 **Key Insights:** | |
| - **GPT-4o** leads in overall performance, achieving **91% execution accuracy** with low latency (**120ms**). | |
| - **deepSQL-R1-distill-8B** excels in query execution & optimization, making it a strong competitor. | |
| - **Mistral-7B** has the lowest scores but may improve with fine-tuning. | |
| 🔹 **New Metrics Explained:** | |
| - **Execution Accuracy (%)** → Measures correctness of SQL execution. | |
| - **Query Optimization (%)** → Evaluates efficiency in structuring optimized queries. | |
| - **Latency (ms)** → Measures response time (lower is better). | |
|  | |
| ## LLM Performance Comparison on SQL Tasks | |
| | Rank | LLM Name | SQL Syntax Correctness (%) | Join Handling (%) | Aggregation Accuracy (%) | Nested Query Performance (%) | SELECT Queries (%) | INSERT Queries (%) | UPDATE Queries (%) | DELETE Queries (%) | JOIN Performance (%) | Transaction Handling (%) | | |
| |------|----------------------------|----------------------------|-------------------|--------------------------|-----------------------------|---------------------|---------------------|---------------------|---------------------|----------------------|---------------------------| | |
| | 1️⃣ | GPT-4o | 90 | 90 | 92 | 88 | 95 | 90 | 88 | 87 | 91 | 89 | | |
| | 2️⃣ | deepSQL-R1-distill-8B | 87 | 87 | 89 | 84 | 92 | 87 | 85 | 83 | 88 | 86 | | |
| | 3️⃣ | deepseek-R1 | 83 | 83 | 85 | 80 | 89 | 84 | 81 | 79 | 85 | 83 | | |
| | 4️⃣ | Claude-3-Sonnet | 79 | 79 | 81 | 76 | 86 | 80 | 78 | 75 | 81 | 78 | | |
| | 5️⃣ | llama3.2 | 75 | 75 | 77 | 72 | 82 | 76 | 74 | 71 | 77 | 74 | | |
| | 6️⃣ | Mistral-7B | 70 | 70 | 72 | 68 | 78 | 72 | 70 | 68 | 72 | 70 | | |
| ## Inference | |
| Here provides a code snippet with `apply_chat_template` to show you how to load the tokenizer and model and how to generate contents. | |
| ```python | |
| # Import necessary libraries | |
| from unsloth import FastLanguageModel | |
| import torch | |
| # Define the model name and other parameters | |
| model_name = "imsanjoykb/deepSQL-R1-distill-8B" | |
| max_seq_length = 2048 | |
| dtype = None | |
| load_in_4bit = True | |
| # Load the model and tokenizer from Hugging Face | |
| model, tokenizer = FastLanguageModel.from_pretrained( | |
| model_name=model_name, | |
| max_seq_length=max_seq_length, | |
| dtype=dtype, | |
| load_in_4bit=load_in_4bit, | |
| ) | |
| # Enable faster inference | |
| FastLanguageModel.for_inference(model) | |
| # Define the prompt template | |
| odoo_text2sql_prompt = """Below is an instruction describing a task related to generating a SQL query specifically for Odoo's database structure. The input provides relevant context about Odoo models or data fields from {db_schema}. Write a SQL query that fulfills the given task using Odoo's database schema. | |
| ### Instruction: | |
| Generate a SQL query in the context of Odoo to {} | |
| ### Input: | |
| {} | |
| ### Response: | |
| {} | |
| """ | |
| ``` | |
| ```python | |
| # Optionally, use a TextStreamer for continuous inference | |
| from transformers import TextStreamer | |
| db_schema = """ | |
| CREATE TABLE product_product ( | |
| id SERIAL NOT NULL, | |
| message_main_attachment_id INTEGER, | |
| product_tmpl_id INTEGER NOT NULL, | |
| create_uid INTEGER, | |
| write_uid INTEGER, | |
| default_code VARCHAR, | |
| barcode VARCHAR, | |
| combination_indices VARCHAR, | |
| volume NUMERIC, | |
| weight NUMERIC, | |
| active BOOLEAN, | |
| can_image_variant_1024_be_zoomed BOOLEAN, | |
| create_date TIMESTAMP WITHOUT TIME ZONE, | |
| write_date TIMESTAMP WITHOUT TIME ZONE, | |
| store_qty_available DOUBLE PRECISION, | |
| store_standard_price DOUBLE PRECISION, | |
| store_sales_count DOUBLE PRECISION, | |
| CONSTRAINT product_product_pkey PRIMARY KEY (id), | |
| CONSTRAINT product_product_create_uid_fkey FOREIGN KEY(create_uid) REFERENCES res_users (id) ON DELETE SET NULL, | |
| CONSTRAINT product_product_message_main_attachment_id_fkey FOREIGN KEY(message_main_attachment_id) REFERENCES ir_attachment (id) ON DELETE SET NUL"L, | |
| CONSTRAINT product_product_product_tmpl_id_fkey FOREIGN KEY(product_tmpl_id) REFERENCES product_template (id) ON DELETE CASCADE, | |
| CONSTRAINT product_product_write_uid_fkey FOREIGN KEY(write_uid) REFERENCES res_users (id) ON DELETE SET NULL | |
| ) | |
| """ | |
| # Prepare the input text for continuous inference | |
| instruction = "" | |
| input_text = "What are the top sales products?" | |
| output_text = "" | |
| # Define the `odoo_text2sql_prompt` with placeholders | |
| odoo_text2sql_prompt = """ | |
| Instruction: {instruction} | |
| Input: {input_text} | |
| Output: {output_text} | |
| DB Schema: {db_schema} | |
| """ | |
| # Tokenize the input text | |
| inputs = tokenizer( | |
| [ | |
| odoo_text2sql_prompt.format( | |
| instruction=instruction, | |
| input_text=input_text, | |
| output_text=output_text, | |
| db_schema=db_schema | |
| ) | |
| ], | |
| return_tensors="pt" | |
| ).to("cuda") | |
| # Initialize the TextStreamer | |
| text_streamer = TextStreamer(tokenizer) | |
| # Generate the output using the model with TextStreamer | |
| _ = model.generate(**inputs, streamer=text_streamer, max_new_tokens=350) | |
| ``` | |
| ## Citing | |
| ``` | |
| @misc{, | |
| author = {Sanjoy Kumar}, | |
| title = {DeepSQL-R1: A Quantized LLM for High-Performance and Reinforcement Driven NL2SQL Generation}, | |
| year = {2025}, | |
| Paper = {https://doi.org/10.6084/m9.figshare.28330301.v1}, | |
| Model Link = {https://huggingface.co/imsanjoykb/deepSQL-R1-distill-8B}, | |
| } | |
| ``` | |
| ## Author | |
| <div align="center" style="line-height: 1;"> | |
| <a href="mailto:imsanjoykb@gmail.com" target="_blank" style="margin: 2px;"> | |
| <img alt="Email" src="https://img.shields.io/badge/Gmail-D14836?style=for-the-badge&logo=gmail&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://imsanjoykb.github.io/" target="_blank" style="margin: 2px;"> | |
| <img alt="Portfolio" src="https://img.shields.io/badge/Portfolio-8B89CC?style=for-the-badge&logo=protonmail&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://www.linkedin.com/in/imsanjoykb/" target="_blank" style="margin: 2px;"> | |
| <img alt="Linkedin" src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://orcid.org/0009-0001-6265-841X" target="_blank" style="margin: 2px;"> | |
| <img alt="ORCID" src="https://img.shields.io/badge/ORCID-0000--002--182-green?style=for-the-badge&logo=orcid&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://github.com/imsanjoykb/" target="_blank" style="margin: 2px;"> | |
| <img alt="Github" src="https://img.shields.io/badge/GitHub-100000?style=for-the-badge&logo=github&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://medium.com/@imsanjoykb" target="_blank" style="margin: 2px;"> | |
| <img alt="Medium" src="https://img.shields.io/badge/Medium-000000?style=for-the-badge&logo=medium&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://www.kaggle.com/imsanjoykb" target="_blank" style="margin: 2px;"> | |
| <img alt="Kaggle" src="https://img.shields.io/badge/Kaggle-20BEFF?style=for-the-badge&logo=Kaggle&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://instagram.com/imsanjoykb/" target="_blank" style="margin: 2px;"> | |
| <img alt="Instagram" src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="https://discord.com/channels/@imsanjoykb" target="_blank" style="margin: 2px;"> | |
| <img alt="Discord" src="https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| </div> | |
| ## Usages Services | |
| <div align="center" style="line-height: 1;"> | |
| <a href="#" target="_blank" style="margin: 2px;"> | |
| <img src="https://ia801209.us.archive.org/26/items/github.com-unslothai-unsloth_-_2023-12-03_15-21-29/cover.jpg" alt="Unsloth" width="100" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="#" target="_blank" style="margin: 2px;"> | |
| <img src="https://wandb.ai/logo.png" alt="Weights & Biases" width="100" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="#" target="_blank" style="margin: 2px;"> | |
| <img src="https://huggingface.co/front/assets/huggingface_logo.svg" alt="Hugging Face" width="100" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| <a href="#" target="_blank" style="margin: 2px;"> | |
| <img src="https://images.saasworthy.com/tr:w-160,h-0,c-at_max,e-sharpen-1/gradio_43063_logo_1681283997_9ue7l.jpg" alt="Gradio" width="100" style="display: inline-block; vertical-align: middle;"> | |
| </a> | |
| </div> | |