close
Skip to content
 
 

Latest commit

 

History

108 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NL2SQL Handbook

From this repository, you can view the latest advancements in NL2SQL. This handbook corresponds to our survey paper: A Survey of NL2SQL with Large Language Models: Where are we, and where are we going?. We also provide tutorial slides to summarize the key points of this survey. Based on the trends in the development of language models, we have created a river diagram of NL2SQL methods to trace the evolution of the NL2SQL field.

If you are a novice, don't worry—we have prepared a practical guide for you, covering a wide range of foundational materials here. We summarized NL2SQL related applications.

Image

@article{liu2024survey,
  title={A Survey of NL2SQL with Large Language Models: Where are we, and where are we going?},
  author={Liu, Xinyu and Shen, Shuyu and Li, Boyan and Ma, Peixian and Jiang, Runzhi and Zhang, Yuxin and Fan, Ju and Li, Guoliang and Tang, Nan and Luo, Yuyu},
  journal={arXiv preprint arXiv:2408.05109},
  year={2024}
}

🧭 NL2SQL Introduction

Translating users' natural language queries (NL) into SQL queries can significantly reduce barriers to accessing relational databases and support various commercial applications. The performance of NL2SQL has been greatly improved with the emergence of language models (LMs). In this context, it is crucial to assess our current position, determine the NL2SQL solutions that should be adopted for specific scenarios by practitioners, and identify the research topics that researchers should explore next.

Image

📈 NL2SQL Lifecycle

Image

  • Model: NL2SQL translation techniques that tackle not only NL ambiguity and under-specification, but also properly map NL with database schema and instances;

  • Data: From the collection of training data, data synthesis due to training data scarcity, to NL2SQL benchmarks;

  • Evaluation: Evaluating NL2SQL methods from multiple angles using different metrics and granularities;

  • Error Analysis: analyzing NL2SQL errors to find the root cause and guiding NL2SQL models to evolve.

🤔 Where Are We?

we categorize the challenges of NL2SQL into five levels, each addressing specific hurdles. The first three levels cover challenges that have been or are currently being addressed, reflecting the progressive development of NL2SQL. The fourth level represents the challenges we aim to tackle in the LLMs stage, while the fifth level outlines our vision for NL2SQL system in the next five years.

We describe the evolution of NL2SQL solutions from the perspective of language models, categorizing it into four stages. For each stage of NL2SQL, we analyze the changes in target users and the extent to which challenges are addressed.

Image

🧩 Module-based NL2SQL Methods

We summarize the key modules of NL2SQL solutions utilizing the language model.

  • Pre-processing serves as an enhancement to the model’s inputs in the NL2SQL parsing process. You can get more details from this chapter: Pre-Processing
  • NL2SQL translation methods constitute the core of the NL2SQL solution, responsible for converting input natural language queries into SQL queries. You can get more details from this chapter: NL2SQL Translation Methods
  • Post-processing is a crucial step to refine the generated SQL queries, ensuring they meet user expectations more accurately. You can get more details from this chapter: Post-Processing

Image

📚 NL2SQL Survey & Tutorial

  1. A Survey of NL2SQL with Large Language Models: Where are we, and where are we going? Image Image Image
  2. Next-generation databas interfaces: A survey of llm-based text-to-sql.Image Image
  3. Large Language Model Enhanced Text-to-SQL Generation: A Survey. Image Image
  4. From Natural Language to SQL: Review of LLM-based Text-to-SQL Systems. Image Image
  5. A Survey on Employing Large Language Models for Text-to-SQL Tasks. Image Image
  6. Natural language interfaces for tabular data querying and visualization: A survey. Image Image
  7. Natural Language Interfaces for Databases with Deep Learning.Image Image
  8. A survey on deep learning approaches for text-to-SQL. Image Image
  9. Recent Advances in Text-to-SQL: A Survey of What We Have and What We Expect. Image Image
  10. A Deep Dive into Deep Learning Approaches for Text-to-SQL Systems. Image Image
  11. State of the Art and Open Challenges in Natural Language Interfaces to Data. Image Image
  12. Natural language to SQL: Where are we today? Image Image

📰 NL2SQL Paper List

  1. OpenSearch-SQL: Enhancing Text-to-SQL with Dynamic Few-shot and Consistency Alignment. Image Image Image

  2. Reliable Text-to-SQL with Adaptive Abstention.Image Image

  3. SNAILS: Schema Naming Assessments for Improved LLM-Based SQL Inference.Image Image

  4. CHASE-SQL: Multi-Path Reasoning and Preference Optimized Candidate Selection in Text-to-SQL. Image Image

  5. Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows. Image Image Image

  6. ROUTE: ROBUST MULTITASK TUNING AND COLLAB- ORATION FOR TEXT-TO-SQL. Image Image

  7. Confidence Estimation for Error Detection in Text-to-SQL Systems. Image Image

  8. DBCopilot: Scaling Natural Language Querying to Massive Databases.Image Image Image

  9. Boosting Text-to-SOL through Multi- grained Error Identification. Image Image

  10. Gen-SQL: Efficient Text-to-SQL By Bridging Natural Language Question And Database Schema With Pseudo-Schema. Image Image

  11. Utilising Large Language Models for Adversarial Attacks in Text-to-SQL: A Perpetrator and Victim Approach Image Image Image

  12. You Only Read Once (YORO): Learning to Internalize Database Knowledge for Text-to-SQL. Image Image Image

  13. Alpha-SQL: Zero-Shot Text-to-SQL using Monte Carlo Tree Search Image Image

  14. NL2SQL-BUGs: A Benchmark for Detecting Semantic Errors in NL2SQL Translation.Image Image Image

  15. OmniSQL: Synthesizing High-quality Text-to-SQL Data at Scale. Image Image Image

  16. Automatic database description generation for Text-to-SQL Image Image Image

  17. Is Long Context AIl You Need? Leveraging LLM's ExtendedContext for NL2SQL. Image Image

  18. MCTS-SQL: An Effective Framework for Text-to-SQL with Monte Carlo Tree Search. Image Image

  19. SQL-o1: A Self-Reward Heuristic Dynamic Search Method for Text-to-SQL. Image Image

  20. FEATHER-SQL: A LIGHTWEIGHT NL2SQL FRAME- WORK WITH DUAL-MODEL COLLABORATION PARADIGM FOR SMALL LANGUAGE MODELS. Image Image

  21. FI-NL2PY2SQL: Financial Industry NL2SQL Innovation Model Based on Python and Large Language Model. Image Image

  22. FGCSQL: A Three-Stage Pipeline for Large Language Model-Driven Chinese Text-to-SQL Image Image

  23. Transforming Medical Data Access: The Role and Challenges of Recent Language Models in SQL Query Automation. Image Image

  24. The Dawn of Natural Language to SQL: Are We Fully Ready? Image Image Image

  25. Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation. Image Image Image

  26. Interleaving Pre-Trained Language Models and Large Language Models for Zero-Shot NL2SQL Generation. Image Image Image

  27. Generating Succinct Descriptions of Database Schemata for Cost-Efficient Prompting of Large Language Models. Image Image Image

  28. ScienceBenchmark: A Complex Real-World Benchmark for Evaluating Natural Language to SQL Systems.Image Image Image

  29. CodeS: Towards Building Open-source Language Models for Text-to-SQL. Image Image Image

  30. FinSQL: Model-Agnostic LLMs-based Text-to-SQL Framework for Financial Analysis. Image Image Image

  31. PURPLE: Making a Large Language Model a Better SQL Writer. Image Image Image

  32. METASQL: A Generate-then-Rank Framework for Natural Language to SQL Translation. Image Image Image

  33. Archer: A Human-Labeled Text-to-SQL Dataset with Arithmetic, Commonsense and Hypothetical Reasoning. Image Image Image

  34. Synthesizing Text-to-SQL Data from Weak and Strong LLMs. Image Image Image

  35. Understanding the Effects of Noise in Text-to-SQL: An Examination of the BIRD-Bench Benchmark. Image Image Image

  36. I Need Help! Evaluating LLM’s Ability to Ask for Users’ Support: A Case Study on Text-to-SQL Generation. Image Image Image

  37. PTD-SQL: Partitioning and Targeted Drilling with LLMs in Text-to-SQL. Image Image Image

  38. Improving Retrieval-augmented Text-to-SQL with AST-based Ranking and Schema Pruning. Image Image

  39. Data-Centric Text-to-SQL with Large Language Models. Image Image

  40. Research and Practice on Database Interaction Based on Natural Language Processing Image Image

  41. XiYan-SQL: A Multi-Generator Ensemble Framework for Text-to-SQL. Image Image

  42. Structure Guided Large Language Model for SQL Generation. Image Image

  43. A Plug-and-Play Natural Language Rewriter for Natural Language to SQL. Image Image

  44. RSL-SQL: Robust Schema Linking in Text-to-SQL Generation.
    Image Image Image

  45. In-Context Reinforcement Learning based Retrieval-Augmented Generation for Text-to-SQL. Image Image

  46. TrustSQL: Benchmarking Text-to-SQL Reliability with Penalty-Based Scoring. Image Image Image

  47. LAIA-SQL: Enhancing Natural Language to SQL Generation in Multi-Table QA via Task Decomposition and Keyword Extraction Image Image

  48. Research on Large Model Text-to-SQL Optimization Method for Intelligent Interaction in the Field of Construction Safety. Image Image

  49. SQLh-GEN: Bridging the Dialect Gap for Text-to-SQL Via Synthetic Data And Model Merging.Image Image

  50. Grounding Natural Language to SQL Translation with Data-Based Self-Explanations. Image Image Image

  51. Towards Optimizing SQL Generation via LLM Routing. Image Image

  52. E-SQL: Direct Schema Linking via Question Enrichment in Text-to-SQL. Image Image Image

  53. DB-GPT: Empowering Database Interactions with Private Large Language Models. Image Image Image

  54. The Death of Schema Linking? Text-to-SQL in the Age of Well-Reasoned Language Models. Image Image

  55. CHESS: Contextual Harnessing for Efficient SQL Synthesis. Image Image Image

  56. PET-SQL: A Prompt-Enhanced Two-Round Refinement of Text-to-SQL with Cross-consistency. Image Image Image

  57. CoE-SQL: In-Context Learning for Multi-Turn Text-to-SQL with Chain-of-Editions. Image Image Image

  58. AMBROSIA: A Benchmark for Parsing Ambiguous Questions into Database Queries. Image Image Image

  59. Text-to-SQL Calibration: No Need to Ask—Just Rescale Model Probabilities. Image Image

  60. Few-shot Text-to-SQL Translation using Structure and Content Prompt Learning. Image Image Image

  61. CatSQL: Towards Real World Natural Language to SQL Applications. Image Image Image

  62. DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction. Image Image Image

  63. Data Ambiguity Strikes Back: How Documentation Improves GPT's Text-to-SQL. Image Image

  64. ACT-SQL: In-Context Learning for Text-to-SQL with Automatically-Generated Chain-of-Thought. Image Image Image

  65. Selective Demonstrations for Cross-domain Text-to-SQL. Image Image Image

  66. RESDSQL: Decoupling Schema Linking and Skeleton Parsing for Text-to-SQL. Image Image Image

  67. Graphix-T5: Mixing Pre-trained Transformers with Graph-Aware Layers for Text-to-SQL Parsing. Image Image Image

  68. Improving Generalization in Language Model-based Text-to-SQL Semantic Parsing: Two Simple Semantic Boundary-based Techniques. Image Image Image

  69. G3R: A Graph-Guided Generate-and-Rerank Framework for Complex and Cross-domain Text-to-SQL Generation. Image Image

  70. Importance of Synthesizing High-quality Data for Text-to-SQL Parsing. Image Image

  71. Know What I don’t Know: Handling Ambiguous and Unknown Questions for Text-to-SQL. Image Image Image

  72. C3: Zero-shot Text-to-SQL with ChatGPT Image Image Image

  73. MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL. Image Image Image

  74. SQLformer: Deep Auto-Regressive Query Graph Generation for Text-to-SQL Translation. Image Image Image

📊 NL2SQL Benchmark

We create a timeline of the benchmark's development and mark relevant milestones. You can get more details from this chapter: 📊 Benchmark

Image

🎯 Where Are We Going?

  • 🎯Sovle Open NL2SQL Problem
  • 🎯Develop Cost-effective NL2SQL Methods
  • 🎯Make NL2SQL Solutions Trustworthy
  • 🎯NL2SQL with Ambiguous and Unspecified NL Queries
  • 🎯Adaptive Training Data Synthesis

📖 Catalog for Our Survey

You can get more information from our subsection. We introduce representative papers on related concepts:

💾 Practical Guide for Novice

📊 How to get data:

  • We collect NL2SQL benchmark features and download links for you. You can get more details from this chapter: Benchmark
  • The analysis code for benchmarks is available in the src/dataset_analysis directory. Benchmark analysis reports can be found in the report/ directory.

🛠️ How to build an LLM-based NL2SQL model:

  • Litgpt Repository Link

    This repository offers access to over 20 high-performance large language models (LLMs) with comprehensive guides for pretraining, fine-tuning, and deploying at scale. It is designed to be beginner-friendly with from-scratch implementations and no complex abstractions.

  • LLaMA-Factory Repository Link Unified Efficient Fine-Tuning of 100+ LLMs. Integrating various models with scalable training resources, advanced algorithms, practical tricks, and comprehensive experiment monitoring tools, this setup enables efficient and faster inference through optimized APIs and UIs.

  • Fine-tuning and In-Context learning for BIRD-SQL benchmark Repository Link

    A tutorial for both Fine-tuning and In-Context Learning is provided by the BIRD-SQL benchmark.

🔎How to evaluate your model:

We collect NL2SQL evaluation metrics for you. You can get more details from this chapter: Evaluation

  • NLSQL360 Repository Link

    NL2SQL360 is a testbed for fine-grained evaluation of NL2SQL solutions. Our testbed integrates existing NL2SQL benchmarks, a repository of NL2SQL models, and various evaluation metrics, which aims to provide an intuitive and user-friendly platform to enable both standard and customized performance evaluations. Image Image Image Image

  • Test-suite-sql-eval Repository Link

    This repo contains a test suite evaluation metric for 11 text-to-SQL tasks. It is now the official metric of Spider, SParC, and CoSQL, and is also now available for Academic, ATIS, Advising, Geography, IMDB, Restaurants, Scholar, and Yelp (building on the amazing work by Catherine and Jonathan). Image Image

  • BIRD-SQL-Official Repository Link

    It is now the official tool of BIRD-SQL. It is the first tool to propose VES and give an official test suite. Image Image

🗺️ Roadmap and Decision Flow

You can get some inspiration from the Roadmap and Decision Flow.

Image

📱 NL2SQL Related Applications:

  • Chat2DB: AI-driven database tool and SQL client, The hottest GUI client, supporting MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, ClickHouse, and more. Image Image
  • DB-GPT: AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents. Image
  • Postgres.new: In-browser Postgres sandbox with AI assistance. Image Image

About

This is a continuously updated handbook for readers to easily track the latest NL2SQL (Text-to-SQL) techniques in the literature and provide practical guidance for researchers and practitioners. If we missed any interesting work, feel free to contact us.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages