Instructions to use XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy") model = AutoModelForCausalLM.from_pretrained("XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy
- SGLang
How to use XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy with Docker Model Runner:
docker model run hf.co/XeAI/LLaMa_3.2_3B_Instruct_Text2SQL_Legacy
| library_name: transformers | |
| license: mit | |
| datasets: | |
| - gretelai/synthetic_text_to_sql | |
| pipeline_tag: text-generation | |
| # Model Card for LLaMA 3.2 3B Instruct Text2SQL | |
| ## Model Details | |
| ### Model Description | |
| This is a fine-tuned version of LLaMA 3.2 3B Instruct model, specifically optimized for Text-to-SQL generation tasks. The model has been trained to convert natural language queries into structured SQL commands. | |
| - **Developed by:** Zhafran Ramadhan - XeAI | |
| - **Model type:** Decoder-only Language Model | |
| - **Language(s):** English - MultiLingual | |
| - **License:** MIT | |
| - **Finetuned from model:** LLaMA 3.2 3B Instruct | |
| - **Log WandB Report:** [WandB Report](https://wandb.ai/zhafranr/LLaMA_3-2_3B_Instruct_FineTune_Text2SQL/reports/LLaMa-3-2-3B-Instruct-Fine-Tune-Text2SQL--VmlldzoxMDA2NDkzNA) | |
| ### Model Sources | |
| - **Repository:** [LLaMA 3.2 3B Instruct](https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct) | |
| - **Dataset:** [Synthethic Text2SQL](https://huggingface.co/datasets/gretelai/synthetic_text_to_sql) | |
| ## How to Get Started with the Model | |
| ### Installation | |
| ```python | |
| pip install transformers torch accelerate | |
| ``` | |
| ### Input Format and Usage | |
| The model expects input in a specific format following this template: | |
| ```text | |
| <|begin_of_text|><|start_header_id|>system<|end_header_id|> | |
| [System context and database schema] | |
| <|eot_id|><|start_header_id|>user<|end_header_id|> | |
| [User query] | |
| <|eot_id|><|start_header_id|>assistant<|end_header_id|> | |
| ``` | |
| ### Basic Usage | |
| ```python | |
| from transformers import pipeline | |
| import torch | |
| # Initialize the pipeline | |
| generator = pipeline( | |
| "text-generation", | |
| model="XeAI/LLaMa_3.2_3B_Instruct_Text2SQL", # Replace with your model ID | |
| torch_dtype=torch.float16, | |
| device_map="auto" | |
| ) | |
| def generate_sql_query(context, question): | |
| # Format the prompt according to the training template | |
| prompt = f"""<|begin_of_text|><|start_header_id|>system<|end_header_id|> | |
| Cutting Knowledge Date: December 2023 | |
| Today Date: 07 Nov 2024 | |
| You are a specialized SQL query generator focused solely on the provided RAG database. Your tasks are: | |
| 1. Generate SQL queries based on user requests that are related to querying the RAG database. | |
| 2. Only output the SQL query itself, without any additional explanation or commentary. | |
| 3. Use the context provided from the RAG database to craft accurate queries. | |
| Context: {context} | |
| <|eot_id|><|start_header_id|>user<|end_header_id|> | |
| {question}<|eot_id|><|start_header_id|>assistant<|end_header_id|>""" | |
| response = generator( | |
| prompt, | |
| max_length=500, | |
| num_return_sequences=1, | |
| temperature=0.1, | |
| do_sample=True, | |
| pad_token_id=generator.tokenizer.eos_token_id | |
| ) | |
| return response[0]['generated_text'] | |
| # Example usage | |
| context = """CREATE TABLE upgrades (id INT, cost FLOAT, type TEXT); | |
| INSERT INTO upgrades (id, cost, type) VALUES | |
| (1, 500, 'Insulation'), | |
| (2, 1000, 'HVAC'), | |
| (3, 1500, 'Lighting');""" | |
| questions = [ | |
| "Find the energy efficiency upgrades with the highest cost and their types.", | |
| "Show me all upgrades costing less than 1000 dollars.", | |
| "Calculate the average cost of all upgrades." | |
| ] | |
| for question in questions: | |
| sql = generate_sql_query(context, question) | |
| print(f"\nQuestion: {question}") | |
| print(f"Generated SQL: {sql}\n") | |
| ``` | |
| ### Advanced Usage with Custom System Prompt | |
| ```python | |
| def generate_sql_with_custom_prompt(context, question, custom_system_prompt=""): | |
| base_prompt = """<|begin_of_text|><|start_header_id|>system<|end_header_id|> | |
| Cutting Knowledge Date: December 2023 | |
| Today Date: 07 Nov 2024 | |
| You are a specialized SQL query generator focused solely on the provided RAG database.""" | |
| full_prompt = f"""{base_prompt} | |
| {custom_system_prompt} | |
| Context: {context} | |
| <|eot_id|><|start_header_id|>user<|end_header_id|> | |
| {question}<|eot_id|><|start_header_id|>assistant<|end_header_id|>""" | |
| response = generator( | |
| full_prompt, | |
| max_length=500, | |
| num_return_sequences=1, | |
| temperature=0.1, | |
| do_sample=True, | |
| pad_token_id=generator.tokenizer.eos_token_id | |
| ) | |
| return response[0]['generated_text'] | |
| ``` | |
| ### Best Practices | |
| 1. **Input Formatting**: | |
| - Always include the special tokens (<|begin_of_text|>, <|eot_id|>, etc.) | |
| - Provide complete database schema in context | |
| - Keep questions clear and focused on data retrieval | |
| 2. **Parameter Configuration**: | |
| - Use temperature=0.1 for consistent SQL generation | |
| - Adjust max_length based on expected query complexity | |
| - Enable do_sample for more natural completions | |
| 3. **Context Management**: | |
| - Include relevant table schemas | |
| - Provide sample data when needed | |
| - Keep context concise but complete | |
| ## Uses | |
| ### Direct Use | |
| The model is designed for converting natural language questions into SQL queries. It can be used for: | |
| - Database query generation from natural language | |
| - SQL query assistance | |
| - Data analysis automation | |
| ### Out-of-Scope Use | |
| - Production deployment without human validation | |
| - Critical decision-making without human oversight | |
| - Direct database execution without query validation | |
| ## Training Details | |
| ### Training Data | |
| - Dataset: [Synthethic Text2SQL](https://huggingface.co/datasets/gretelai/synthetic_text_to_sql) | |
| - Data preprocessing: Standard text-to-SQL formatting | |
| ### Training Procedure | |
| #### Training Hyperparameters | |
| - **Total Steps:** 4,149 | |
| - **Final Training Loss:** 0.1168 | |
| - **Evaluation Loss:** 0.2125 | |
| - **Learning Rate:** Dynamic with final LR = 0 | |
| - **Epochs:** 2.99 | |
| - **Gradient Norm:** 1.3121 | |
| #### Performance Metrics | |
| - **Training Samples/Second:** 6.291 | |
| - **Evaluation Samples/Second:** 19.325 | |
| - **Steps/Second:** 3.868 | |
| - **Total FLOPS:** 1.92e18 | |
| #### Training Infrastructure | |
| - **Hardware:** Single NVIDIA H100 GPU | |
| - **Training Duration:** 5-6 hours | |
| - **Total Runtime:** 16,491.75 seconds | |
| - **Model Preparation Time:** 0.0051 seconds | |
| ## Evaluation | |
| ### Metrics | |
| The model's performance was tracked using several key metrics: | |
| - **Training Loss:** Started at ~1.2, converged to 0.1168 | |
| - **Evaluation Loss:** 0.2125 | |
| - **Processing Efficiency:** 19.325 samples per second during evaluation | |
| ### Results Summary | |
| - Achieved stable convergence after ~4000 steps | |
| - Maintained consistent performance metrics throughout training | |
| - Shows good balance between training and evaluation loss | |
| ## Environmental Impact | |
| - **Hardware Type:** NVIDIA H100 GPU | |
| - **Hours used:** ~6 hours | |
| - **Training Location:** [GPUaaS](www.runpod.io) | |
| ## Technical Specifications | |
| ### Compute Infrastructure | |
| - **GPU:** NVIDIA H100 | |
| - **Training Duration:** 5-6 hours | |
| - **Total Steps:** 4,149 | |
| - **FLOPs Utilized:** 1.92e18 | |
| ## Model Card Contact | |
| [Contact information to be added by Zhafran Ramadhan] | |
| --- | |
| *Note: This model card follows the guidelines set by the ML community for responsible AI development and deployment.* |