Github 9 个惊艳的开源 NL2SQL 项目

你好,我是一宿君。

NL2SQL------自然语言转 SQL ,也称为 Text2SQL,已经成为大模型落地最常见的场景之一。

今天介绍 GitHub 上 9 个值得关注的开源项目,按照星标核心能力依次展开介绍,方便大家参考、借鉴。

  1. SuperSonic
  2. Chat2DB
  3. SQL Chat
  4. Vanna
  5. Dataherald
  6. WrenAI
  7. Awesome-Text2SQL
  8. LangChain SQL
  9. Langchain-Chatchat

SuperSonic

GitHub Star ⭐ 4.1k github.com/tencentmusi...

腾讯音乐开源,SuperSonic 融合 Chat BI(powered by LLM)和Headless BI(powered by 语义层)打造新一代的BI平台。这种融合确保了Chat BI能够与传统BI一样访问统一化治理的语义数据模型。

主要特点

  • 自然语言转 SQL(Text-to-SQL)

    用户可以通过自然语言提问,平台将自动生成 SQL 查询并执行,返回分析结果。

  • ChatBI 与 Headless BI 融合

    ChatBI 提供自然语言交互界面,Headless BI 屏蔽底层数据结构,提供统一的指标和维度定义,支持多种数据源的接入。

  • 支持多种数据库和 LLM

    支持 PostgreSQL、MySQL、ClickHouse、Doris 等数据库,以及 OpenAI、Vertex AI、Anthropic 等大语言模型。

整体架构

  • 模型知识库(Knowledge Base): 定期从语义模型中提取相关的模式信息,构建词典和索引,以便后续的模式映射。
  • 模式映射器(Schema Mapper): 将自然语言文本在知识库中进行匹配,为后续的语义解析提供相关信息。
  • 语义解析器(Semantic Parser): 理解用户查询并抽取语义信息,生成语义查询语句S2SQL。
  • 语义修正器(Semantic Corrector): 检查语义查询语句的合法性,对不合法的信息做修正和优化处理。
  • 语义翻译器(Semantic Translator): 将语义查询语句翻译成可在物理数据模型上执行的SQL语句。
  • 问答插件(Chat Plugin): 通过第三方工具扩展功能。给定所有配置的插件及其功能描述和示例问题,大语言模型将选择最合适的插件。
  • 问答记忆(Chat Memory): 将历史的查询轨迹进行封装,可被召回作为few-shot样例嵌入提示词。

一句话总结:ChatBI + Headless BI 二合一,用自然语言问数、系统自动选可视化,语义层可插拔,对 Java 生态很友好 。

Chat2DB

GitHub Star ⭐ 24k github.com/chat2db/cha...

Chat2DB 是一个智能的通用SQL客户端和数据报表工具,它集成了AI的能力。Chat2DB可以帮助您更快地编写SQL查询、管理数据库、生成报告、探索数据、并且可以与多种数据库进行交互。

主要特点

  • 智能生成SQL: Chat2DB Pro支持AI驱动的智能SQL开发,可以帮助您更快地编写SQL查询,另外,Chat2DB 还支持 SQL 转自然语言,可以快速轻松理解复杂 SQL 的含义。
  • 数据库管理: 支持多种10+数据库,包括主流的 MySQL、PostgreSQL、H2、Oracle、MongoDB、Redis等。
  • 智能生成报表: Chat2DB Pro支持AI驱动的智能数据报表,可以快速生成看板。
  • 数据结构同步: Chat2DB Pro支持数据库表结构同步,可以快速同步数据库表结构。
  • 夸平台:Chat2DB 是一个跨平台的应用程序,支持Windows、MacOS和Linux。

SQL Chat

GitHub Star ⭐ 5.4k github.com/sqlchat/sql...

SQL Chat 是一个基于聊天的 SQL 客户端,使用自然语言与数据库以沟通的方式,实现对数据库的查询、修改、新增、删除等操作。

主要特点

  • 畅聊式界面:不再被复杂界面卡住,只需一句话,就能驱动数据库操作,顺滑又高效。
  • 多库支持:目前兼容 MySQL、PostgreSQL、MSSQL 以及 TiDB Cloud 等主流数据库。
  • 技术栈现代:基于 Next.js 构建,可以快速部署到 Vercel,也可选择自托管方案。
  • 开源免费:完全开源,没有门槛,有兴趣可以自己搭建或二次开发。

Vanna

GitHub Star ⭐ 19.9k github.com/vanna-ai/va...

Vanna 是一个获得麻省理工学院许可的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。

主要特点

  • 动态微调:可训练 RAG 模型,将你的数据库 schema、历史查询等信息构建成检索基础;
  • 智能生成SQL:自然语言提问,自动生成可执行 SQL 查询。

Vanna 只需两个简单的步骤即可工作 - 在您的数据上训练 RAG"模型",然后提出问题,这些问题将返回可以设置为在您的数据库上自动运行的 SQL 查询。

工作原理

Dataherald

GitHub Star ⭐ 3.1k
github.com/Dataherald/...

Dataherald 是一个自然语言到 SQL 的引擎,专为关系数据的企业级问答而构建。它允许您从数据库中设置一个 API,可以用简单的英语回答问题。

主要功能

  • 允许业务用户无需通过数据分析师即可从数据仓库中获取见解
  • 从 SaaS 应用程序中的生产数据库启用 Q+A
  • 从您的专有数据创建 ChatGPT 插件

WrenAI

GitHub Star ⭐ 9.8k github.com/Canner/Wren...

WrenAI 是一款开源的 Generative BI(GenBI)Agent,能让你直接对数据库"聊天"------生成 SQL、图表(Text-to-Chart),并且输出 AI 驱动的数据洞察,一通话就搞定

主要特点

  • 数据对话:用任何语言提问→精确的 SQL 和答案
  • 智能总结:人工智能编写的摘要、图表和报告
  • 语义解析:MDL 模型对架构、指标、联接进行编码
  • API接入:在应用内生成查询和图表
  • 多库兼容:支持 PostgreSQL、MySQL、SQL Server、ClickHouse、Oracle、Snowflake 等主流数据库
  • 兼容主流 LLM 平台:支持 OpenAI(及 Azure)、Google Gemini / Vertex AI、Anthropic、Ollama、Databricks、Groq 等多种模型

工作原理

Awesome-Text2SQL

GitHub Star ⭐ 3k github.com/eosphoros-a...

Awesome-Text2SQL 是由 DB-GPT 社区发起的开源项目,旨在汇总和整理 Text-to-SQL 领域的优质教程、模型、数据集和工具,帮助研究人员和开发者快速入门并深入了解该领域。

一句话总结:Awesome-Text2SQL 不是工具,是"导航站"------把论文、数据集、评测基准、开源项目一网打尽的 NL2SQL 百科全书 。

LangChain SQL

GitHub Star ⭐ 114k (随 LangChain 主库) python.langchain.com/v0.1/docs/u...

LangChain 带有许多内置链和代理,LangChain SQL就是其中之一的 SQL 链代理,与 SQLAlchemy 支持的任何 SQL 方言(例如 MySQL、PostgreSQL、Oracle SQL、Databricks、SQLite等)均兼容。

支持功能用例

  • 生成将基于自然语言问题运行的查询
  • 创建可以根据数据库数据回答问题的聊天机器人
  • 根据用户想要分析的见解构建自定义仪表板

核心指南:

  • 代理:生成可以与 SQL DB 交互的代理。
  • 提示策略 :改进 SQL 查询生成的策略。
  • 查询验证 :如何验证 SQL 查询。
  • 大型数据库 :如何与具有许多表和高基数列的数据库进行交互。

一句话总结:官方 SQL 链代理,能自动纠错、回滚并重跑 SQL,把任何 LangChain 项目升级成"会聊数据库"的智能体 。

Langchain-Chatchat

GitHub Star ⭐ 35.9k github.com/chatchat-sp...

LangChain-Chatchat (原 Langchain-ChatGLM) 基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的 RAG 与 Agent 应用项目。

主要特点

  • 支持多种主流数据库
  • 支持多种主流 LLM
  • 支持数据库对话(NL2SQL)
  • 支持多模态图像对话

LangChain-Chatchat 是一个完善的 Agent 搭建框架,NL2SQL 是其中对接数据的一个功能,基于其强大的工作原理,为 LLM 提供与 SQL 数据库交互的工具集,支持更复杂的查询和多轮交互。

工作原理

功能概览


总结

从个人提效到企业级 BI,这 9 个开源项目基本覆盖了 NL2SQL 的全部主流玩法。

如果你恰好有 NL2SQL 的需求,这些项目或许可以给到你一些启发和灵感。

感兴趣的同学可以拉个代码,跑个 demo,总有一款适合你的。

风险提示

很多业务场景都得益于 LLM 能力的提升得到了显著提效,NL2SQL 是显而易见的提效模式。值得注意的一点, LLM 能力虽然很强,但是仍然无法避免产生幻觉,NL2SQL 是与数据库直接打交道,必然存在一定的风险,所以在应用的过程中,需要格外谨慎,严格把控 LLM 边界能力和数据库风险管控。

都看到这了,点个赞吧!!!

相关推荐
第一程序员21 小时前
2026年GitHub上最值得学习的Python库
python·github
gt1314521 小时前
GitHub 学生认证须知
github
小敬爱吃饭1 天前
知识图谱实战第一章:知识图谱全景解析其定义、技术演进与十大应用场景
人工智能·python·目标检测·自然语言处理·flask·nlp·知识图谱
合合技术团队1 天前
智能合同审查搭建教程:低质量PDF怎么处理?先解析清洗,再分路审阅(附GitHub项目地址)
pdf·prompt·github·textin
三无推导1 天前
深入解析 ComposioHQ/awesome-codex-skills:从 Prompt 复用到 AI 工程技能化的实践路径
人工智能·性能优化·开源·prompt·github
ffqws_1 天前
MyBatis 动态 SQL 详解:从原理到实战
java·sql·mybatis
第一程序员1 天前
2026年GitHub上最火的10个Python项目,Rust开发者必看
python·rust·github
wangruofeng1 天前
AI 正在压垮 GitHub
github·aigc
其实防守也摸鱼1 天前
《SQL注入进阶实验:基于sqli-Labs的报错注入(Error-Based Injection)实战解析》
网络·数据库·sql·安全·网络安全·sql注入·报错注入
juniperhan1 天前
Flink 系列第20篇:Flink SQL 语法全解:从 DDL 到 DML,窗口、聚合、列转行一网打尽
大数据·数据仓库·分布式·sql·flink