
NL2SQL_Handbook
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.
Stars: 481

README:
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.
@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}
}
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.
-
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.
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.
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
- A Survey of NL2SQL with Large Language Models: Where are we, and where are we going?
- Next-generation databas interfaces: A survey of llm-based text-to-sql.
- Large Language Model Enhanced Text-to-SQL Generation: A Survey.
- From Natural Language to SQL: Review of LLM-based Text-to-SQL Systems.
- A Survey on Employing Large Language Models for Text-to-SQL Tasks.
- Natural language interfaces for tabular data querying and visualization: A survey.
- Natural Language Interfaces for Databases with Deep Learning.
- A survey on deep learning approaches for text-to-SQL.
- Recent Advances in Text-to-SQL: A Survey of What We Have and What We Expect.
- A Deep Dive into Deep Learning Approaches for Text-to-SQL Systems.
- State of the Art and Open Challenges in Natural Language Interfaces to Data.
- Natural language to SQL: Where are we today?
-
OpenSearch-SQL: Enhancing Text-to-SQL with Dynamic Few-shot and Consistency Alignment.
-
Cracking SQL Barrier: An LLM-based Dialect Translation System.
-
SNAILS: Schema Naming Assessments for Improved LLM-Based SQL Inference.
-
CHASE-SQL: Multi-Path Reasoning and Preference Optimized Candidate Selection in Text-to-SQL.
-
Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows.
-
ROUTE: ROBUST MULTITASK TUNING AND COLLAB- ORATION FOR TEXT-TO-SQL.
-
Confidence Estimation for Error Detection in Text-to-SQL Systems.
-
DBCopilot: Scaling Natural Language Querying to Massive Databases.
-
Boosting Text-to-SOL through Multi- grained Error Identification.
-
Gen-SQL: Efficient Text-to-SQL By Bridging Natural Language Question And Database Schema With Pseudo-Schema.
-
Utilising Large Language Models for Adversarial Attacks in Text-to-SQL: A Perpetrator and Victim Approach
-
You Only Read Once (YORO): Learning to Internalize Database Knowledge for Text-to-SQL.
-
Alpha-SQL: Zero-Shot Text-to-SQL using Monte Carlo Tree Search
-
NL2SQL-BUGs: A Benchmark for Detecting Semantic Errors in NL2SQL Translation.
-
OmniSQL: Synthesizing High-quality Text-to-SQL Data at Scale.
-
Is Long Context AIl You Need? Leveraging LLM's ExtendedContext for NL2SQL.
-
MCTS-SQL: An Effective Framework for Text-to-SQL with Monte Carlo Tree Search.
-
SQL-o1: A Self-Reward Heuristic Dynamic Search Method for Text-to-SQL.
-
FEATHER-SQL: A LIGHTWEIGHT NL2SQL FRAME- WORK WITH DUAL-MODEL COLLABORATION PARADIGM FOR SMALL LANGUAGE MODELS.
-
FI-NL2PY2SQL: Financial Industry NL2SQL Innovation Model Based on Python and Large Language Model.
-
FGCSQL: A Three-Stage Pipeline for Large Language Model-Driven Chinese Text-to-SQL
-
Transforming Medical Data Access: The Role and Challenges of Recent Language Models in SQL Query Automation.
-
Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation.
-
Interleaving Pre-Trained Language Models and Large Language Models for Zero-Shot NL2SQL Generation.
-
Generating Succinct Descriptions of Database Schemata for Cost-Efficient Prompting of Large Language Models.
-
ScienceBenchmark: A Complex Real-World Benchmark for Evaluating Natural Language to SQL Systems.
-
CodeS: Towards Building Open-source Language Models for Text-to-SQL.
-
FinSQL: Model-Agnostic LLMs-based Text-to-SQL Framework for Financial Analysis.
-
METASQL: A Generate-then-Rank Framework for Natural Language to SQL Translation.
-
Archer: A Human-Labeled Text-to-SQL Dataset with Arithmetic, Commonsense and Hypothetical Reasoning.
-
Understanding the Effects of Noise in Text-to-SQL: An Examination of the BIRD-Bench Benchmark.
-
I Need Help! Evaluating LLM’s Ability to Ask for Users’ Support: A Case Study on Text-to-SQL Generation.
-
PTD-SQL: Partitioning and Targeted Drilling with LLMs in Text-to-SQL.
-
Improving Retrieval-augmented Text-to-SQL with AST-based Ranking and Schema Pruning.
-
Research and Practice on Database Interaction Based on Natural Language Processing
-
XiYan-SQL: A Multi-Generator Ensemble Framework for Text-to-SQL.
-
A Plug-and-Play Natural Language Rewriter for Natural Language to SQL.
-
In-Context Reinforcement Learning based Retrieval-Augmented Generation for Text-to-SQL.
-
TrustSQL: Benchmarking Text-to-SQL Reliability with Penalty-Based Scoring.
-
LAIA-SQL: Enhancing Natural Language to SQL Generation in Multi-Table QA via Task Decomposition and Keyword Extraction
-
Research on Large Model Text-to-SQL Optimization Method for Intelligent Interaction in the Field of Construction Safety.
-
SQLh-GEN: Bridging the Dialect Gap for Text-to-SQL Via Synthetic Data And Model Merging.
-
Grounding Natural Language to SQL Translation with Data-Based Self-Explanations.
-
E-SQL: Direct Schema Linking via Question Enrichment in Text-to-SQL.
-
DB-GPT: Empowering Database Interactions with Private Large Language Models.
-
The Death of Schema Linking? Text-to-SQL in the Age of Well-Reasoned Language Models.
-
PET-SQL: A Prompt-Enhanced Two-Round Refinement of Text-to-SQL with Cross-consistency.
-
CoE-SQL: In-Context Learning for Multi-Turn Text-to-SQL with Chain-of-Editions.
-
AMBROSIA: A Benchmark for Parsing Ambiguous Questions into Database Queries.
-
Text-to-SQL Calibration: No Need to Ask—Just Rescale Model Probabilities.
-
Few-shot Text-to-SQL Translation using Structure and Content Prompt Learning.
-
CatSQL: Towards Real World Natural Language to SQL Applications.
-
DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction.
-
Data Ambiguity Strikes Back: How Documentation Improves GPT's Text-to-SQL.
-
ACT-SQL: In-Context Learning for Text-to-SQL with Automatically-Generated Chain-of-Thought.
-
RESDSQL: Decoupling Schema Linking and Skeleton Parsing for Text-to-SQL.
-
Graphix-T5: Mixing Pre-trained Transformers with Graph-Aware Layers for Text-to-SQL Parsing.
-
Improving Generalization in Language Model-based Text-to-SQL Semantic Parsing: Two Simple Semantic Boundary-based Techniques.
-
G3R: A Graph-Guided Generate-and-Rerank Framework for Complex and Cross-domain Text-to-SQL Generation.
-
Importance of Synthesizing High-quality Data for Text-to-SQL Parsing.
-
Know What I don’t Know: Handling Ambiguous and Unknown Questions for Text-to-SQL.
-
MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL.
-
SQLformer: Deep Auto-Regressive Query Graph Generation for Text-to-SQL Translation.
We create a timeline of the benchmark's development and mark relevant milestones. You can get more details from this chapter: 📊 Benchmark
- 🎯Sovle Open NL2SQL Problem
- 🎯Develop Cost-effective NL2SQL Methods
- 🎯Make NL2SQL Solutions Trustworthy
- 🎯NL2SQL with Ambiguous and Unspecified NL Queries
- 🎯Adaptive Training Data Synthesis
You can get more information from our subsection. We introduce representative papers on related concepts:
- 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 thereport/
directory.
-
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.
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.
-
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).
-
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.
You can get some inspiration from the Roadmap and Decision Flow.
- 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.
- DB-GPT: AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents.
- Postgres.new: In-browser Postgres sandbox with AI assistance.
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for NL2SQL_Handbook
Similar Open Source Tools

EvalAI
EvalAI is an open-source platform for evaluating and comparing machine learning (ML) and artificial intelligence (AI) algorithms at scale. It provides a central leaderboard and submission interface, making it easier for researchers to reproduce results mentioned in papers and perform reliable & accurate quantitative analysis. EvalAI also offers features such as custom evaluation protocols and phases, remote evaluation, evaluation inside environments, CLI support, portability, and faster evaluation.

tt
Connect multiple CEX and DEX across multi messaging platforms. Place order, inquire your balance, access AI agent and more through plugins. Easily deploy via Docker on self-hosted platform or PAAS.

Awesome-LLM4Graph-Papers
A collection of papers and resources about Large Language Models (LLM) for Graph Learning (Graph). Integrating LLMs with graph learning techniques to enhance performance in graph learning tasks. Categorizes approaches based on four primary paradigms and nine secondary-level categories. Valuable for research or practice in self-supervised learning for recommendation systems.

Awesome-RL-based-LLM-Reasoning
This repository is dedicated to enhancing Language Model (LLM) reasoning with reinforcement learning (RL). It includes a collection of the latest papers, slides, and materials related to RL-based LLM reasoning, aiming to facilitate quick learning and understanding in this field. Starring this repository allows users to stay updated and engaged with the forefront of RL-based LLM reasoning.

Awesome-explainable-AI
This repository contains frontier research on explainable AI (XAI), a hot topic in the field of artificial intelligence. It includes trends, use cases, survey papers, books, open courses, papers, and Python libraries related to XAI. The repository aims to organize and categorize publications on XAI, provide evaluation methods, and list various Python libraries for explainable AI.

Cyberion-Spark-X
Cyberion-Spark-X is a powerful open-source tool designed for cybersecurity professionals and data analysts. It provides advanced capabilities for analyzing and visualizing large datasets to detect security threats and anomalies. The tool integrates with popular data sources and supports various machine learning algorithms for predictive analytics and anomaly detection. Cyberion-Spark-X is user-friendly and highly customizable, making it suitable for both beginners and experienced professionals in the field of cybersecurity and data analysis.

Awesome-System2-Reasoning-LLM
The Awesome-System2-Reasoning-LLM repository is dedicated to a survey paper titled 'From System 1 to System 2: A Survey of Reasoning Large Language Models'. It explores the development of reasoning Large Language Models (LLMs), their foundational technologies, benchmarks, and future directions. The repository provides resources and updates related to the research, tracking the latest developments in the field of reasoning LLMs.

Awesome-LLM-Post-training
The Awesome-LLM-Post-training repository is a curated collection of influential papers, code implementations, benchmarks, and resources related to Large Language Models (LLMs) Post-Training Methodologies. It covers various aspects of LLMs, including reasoning, decision-making, reinforcement learning, reward learning, policy optimization, explainability, multimodal agents, benchmarks, tutorials, libraries, and implementations. The repository aims to provide a comprehensive overview and resources for researchers and practitioners interested in advancing LLM technologies.

lobe-cli-toolbox
Lobe CLI Toolbox is an AI CLI Toolbox designed to enhance git commit and i18n workflow efficiency. It includes tools like Lobe Commit for generating Gitmoji-based commit messages and Lobe i18n for automating the i18n translation process. The toolbox also features Lobe label for automatically copying issues labels from a template repo. It supports features such as automatic splitting of large files, incremental updates, and customization options for the OpenAI model, API proxy, and temperature.

awesome-production-llm
This repository is a curated list of open-source libraries for production large language models. It includes tools for data preprocessing, training/finetuning, evaluation/benchmarking, serving/inference, application/RAG, testing/monitoring, and guardrails/security. The repository also provides a new category called LLM Cookbook/Examples for showcasing examples and guides on using various LLM APIs.

bravegpt
BraveGPT is a userscript that brings the power of ChatGPT to Brave Search. It allows users to engage with a conversational AI assistant directly within their search results, providing instant and personalized responses to their queries. BraveGPT is powered by GPT-4, the latest and most advanced language model from OpenAI, ensuring accurate and comprehensive answers. With BraveGPT, users can ask questions, get summaries, generate creative content, and more, all without leaving the Brave Search interface. The tool is easy to install and use, making it accessible to users of all levels. BraveGPT is a valuable addition to the Brave Search experience, enhancing its capabilities and providing users with a more efficient and informative search experience.

awesome-LLM-AIOps
The 'awesome-LLM-AIOps' repository is a curated list of academic research and industrial materials related to Large Language Models (LLM) and Artificial Intelligence for IT Operations (AIOps). It covers various topics such as incident management, log analysis, root cause analysis, incident mitigation, and incident postmortem analysis. The repository provides a comprehensive collection of papers, projects, and tools related to the application of LLM and AI in IT operations, offering valuable insights and resources for researchers and practitioners in the field.

duckduckgpt
DuckDuckGPT brings the magic of ChatGPT to DDG (powered by GPT-4!). DuckDuckGPT is a browser extension that allows you to use ChatGPT within DuckDuckGo. This means you can ask ChatGPT questions, get help with tasks, and generate creative content, all without leaving DuckDuckGo. DuckDuckGPT is easy to use. Once you have installed the extension, simply type your question into the DuckDuckGo search bar and hit enter. ChatGPT will then generate a response that will appear below the search results. DuckDuckGPT is a powerful tool that can help you with a wide variety of tasks. Here are just a few examples of what you can use it for: * Get help with research * Write essays and other creative content * Translate languages * Get coding help * Answer trivia questions * And much more! DuckDuckGPT is still in development, but it is already a very powerful tool. As GPT-4 continues to improve, DuckDuckGPT will only get better. So if you are looking for a way to make your DuckDuckGo searches more productive, be sure to give DuckDuckGPT a try.