|
Download README.md from Solayman-Sameh/nl-sql-t5-small: direct link, hf CLI and curl.
- Browser
- Download file 2.37 kB
-
https://huggingface.co/Solayman-Sameh/nl-sql-t5-small/resolve/main/README.md
- Command line
-
hf download hf://Solayman-Sameh/nl-sql-t5-small/README.md
-
curl -L -o README.md https://huggingface.co/Solayman-Sameh/nl-sql-t5-small/resolve/main/README.md
2.37 kB
| language: | |
| - en | |
| license: mit | |
| tags: | |
| - text-to-sql | |
| - t5 | |
| - wikisql | |
| - natural-language-processing | |
| - code-generation | |
| datasets: | |
| - salesforce/wikisql | |
| pipeline_tag: text-generation | |
| widget: | |
| - text: "translate to SQL: What is the average score? | columns: player (text), score (real), team (text)" | |
| example_title: "Average Score Example" | |
| - text: "translate to SQL: Who won the championship in 2020? | columns: year (real), champion (text), runner_up (text)" | |
| example_title: "Filtered Query Example" | |
| # NL-SQL-T5-Small: Fine-Tuned Text-to-SQL Transformer | |
| This model is a fine-tuned version of [google-t5/t5-small](https://huggingface.co/google-t5/t5-small) specialized for translating English natural language questions into executable SQL queries based on table schemas. | |
| Developed as part of the **Natural Language Data Analysis Agent** project by **Solayman Sameh Solayman & Habiba Ayman Ahmed**. | |
| --- | |
| ## 📊 Model Details & Performance | |
| - **Base Architecture:** T5-small (Encoder-Decoder Transformer, 60M parameters) | |
| - **Training Dataset:** [WikiSQL](https://huggingface.co/datasets/salesforce/wikisql) (56,355 training queries, 8,421 validation, 15,878 test) | |
| - **Exact Match Accuracy:** **61.8%** on the WikiSQL test split (BLEU: **0.824**) | |
| - **Input Format:** `translate to SQL: {question} | columns: {col1} ({type1}), {col2} ({type2})` | |
| --- | |
| ## 🚀 How to Use | |
| ```python | |
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
| # Load model and tokenizer | |
| model_id = "Solayman-Sameh/nl-sql-t5-small" | |
| tokenizer = AutoTokenizer.from_pretrained(model_id) | |
| model = AutoModelForSeq2SeqLM.from_pretrained(model_id) | |
| # Prepare schema-aware prompt | |
| question = "What is the average salary of engineers?" | |
| columns = ["name (text)", "role (text)", "salary (real)"] | |
| prompt = f"translate to SQL: {question} | columns: {', '.join(columns)}" | |
| inputs = tokenizer(prompt, return_tensors="pt") | |
| outputs = model.generate(**inputs, max_length=64) | |
| sql_query = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| print("Generated SQL:", sql_query) | |
| # Output: SELECT AVG salary FROM table WHERE role = engineer | |
| ``` | |
| --- | |
| ## 👥 Authors & Acknowledgments | |
| - **Solayman Sameh Solayman** ([@Solayman-Sameh](https://huggingface.co/Solayman-Sameh)) | |
| - **Habiba Ayman Ahmed** ([@Habibaa11](https://huggingface.co/Habibaa11)) | |
| Developed as part of the **NL Data Analysis Agent** project. | |