| | --- |
| | license: apache-2.0 |
| | language: |
| | - en |
| | base_model: |
| | - Qwen/Qwen2.5-Coder-32B-Instruct |
| | new_version: imsanjoykb/sqlCoder-Qwen2.5-8bit |
| | pipeline_tag: text-generation |
| | library_name: adapter-transformers |
| | tags: |
| | - unsloth, |
| | - pytorch, |
| | - inference-endpoint, |
| | - sql-code-generation, |
| | --- |
| | [🤗 HF Repo](https://huggingface.co/imsanjoykb/sqlCoder-Qwen2.5-8bit) | [♾️ Colab](https://colab.research.google.com/drive/19e-u32GY2y5lsckNuWhBQExvXgVn8ZjG?usp=sharing) |
| |
|
| | Introducing the latest fine-tuned version of Qwen2.5-Coder-14B-Instruct, specifically tailored for SQL code generation. Built on the robust 14-billion parameter Qwen2.5-Coder architecture, this model leverages advanced configurations like bfloat16 precision and a custom quantization setup, optimized for efficient 4-bit computation. With a maximum context window of 32K tokens, this model supports extensive SQL sequences and complex query generation without compromising accuracy or performance. |
| |
|
| | Our fine-tuning process has enriched this model with domain-specific SQL patterns and nuanced query constructions, making it exceptionally adept at handling real-world SQL requirements, from query creation to debugging and optimization. By combining Qwen2.5's foundational strengths with targeted training on custom SQL data, this model achieves a powerful balance of general-purpose code understanding and SQL-specific precision, making it an ideal tool for developers and data engineers seeking top-tier SQL generation capabilities. |
| |
|
| |
|
| | ## 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/sqlCoder-Qwen2.5-8bit" |
| | 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: |
| | {} |
| | """ |
| | |
| | # Optionally, use a TextStreamer for continuous inference |
| | from transformers import TextStreamer |
| | |
| | # Prepare the input text for continuous inference |
| | instruction = "" |
| | input_text = "What is the top profitable product?" |
| | output_text = "" |
| | |
| | # Tokenize the input text |
| | inputs = tokenizer( |
| | [ |
| | odoo_text2sql_prompt.format(instruction, input_text, output_text) |
| | ], |
| | 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) |
| | ``` |
| | ## Model Download |
| | | **Model** | **#Total Params** | **#Active Params** | **Context Length** | **Download** | |
| | | :-----------------------------: | :---------------: | :----------------: | :----------------: | :----------------------------------------------------------: | |
| | | sqlCoder-Qwen2.5-8bit | 14B | 2.4B | 128k | [🤗 HuggingFace](https://huggingface.co/imsanjoykb/sqlCoder-Qwen2.5-8bit) | |
| |
|
| | # Uploaded model |
| |
|
| | - **Developed by:** [Sanjoy Biswas](https://www.linkedin.com/in/imsanjoykb/) |
| | - **License:** apache-2.0 |