← 返回列表

NL2SQL Engine:用英文提问数据库,模型只生成经校验的类型化查询计划而非 SQL 文本

nadeem4/nl2sql · Ask your database questions in English. The model emits a typed query plan, never SQL text - validated against the real schema and the caller's role before any SQL is generated.

GitHub原文发布 未知首次收录 2026-11-01上架 2026-11-03 07:08

☆ 收藏查看项目 ↗

ELI5:它是什么,解决什么问题

NL2SQL Engine 是一个自然语言转 SQL 引擎:用户用英文提问,模型输出 Pydantic 定义的类型化查询计划(表、连接、选择项、过滤条件),由逻辑校验器对照真实 schema、外键和调用者角色(RBAC)检查,通过后再由 sqlglot 确定性地生成 SQL 并执行、汇总答案。项目包含 15 步流水线(其中 6 步由模型决策)、可重试的修正器和 schema 向量检索,提供 CLI、REST API、Python SDK 及本地 Playground,并给出 Chinook 等样例库上的基准结果。

核心能力与快速开始

★ 4 · Python

能做什么
英文问题路由到已注册数据库并拆分与编排子查询;按需检索 schema(向量检索或全量);模型只产出类型化计划,不允许写 SQL 文本,函数仅限允许列表;逻辑校验表、列、外键连接与调用者角色权限,可重试修正,安全拒绝为终态;由 sqlglot 按方言确定性生成 SQL、执行并生成答案摘要;提供 CLI、REST API、Python SDK、Playground 调试视图和评测基准。
适用场景
让业务或分析人员用自然语言查询数据库;需要把模型输出限制在受控查询计划、并在执行前做 schema 与权限校验的场景;在 Chinook、support、webanalytics 等样例库上演示和评测 NL2SQL 流程;在 Python 应用或服务中通过 SDK/REST 集成 NL2SQL 能力。
项目形态
可直接使用的工具
部署方式
本地可用 pip install "nl2sql-engine[demo]" 后运行 nl2sql demo,在 127.0.0.1:8765 提供 Playground;也可按 README 从仓库安装并附 REST 服务包;公开演示版本位于 nl2sql.codewithnk.com,并以 Hugging Face Space 形式提供部署材料。其他部署条件未说明。
主要依赖
本地运行需 Python 3.12 或更高版本;首次索引会下载约 79 MB 的嵌入模型;回答问题需要模型密钥(OpenAI、OpenRouter 或 Anthropic)或本地 Ollama 守护进程,使用 Claude 需额外安装 anthropic 扩展;无密钥时仅能回放已录制的响应。
使用限制
不生成或执行未经校验的 SQL 文本,模型不能自由编写 SQL;无法跨数据库连接,跨两个数据源的问题暂不可回答;无密钥时回放模式在没有录制答案时无法作答;公开演示不保存密钥,样例库以只读方式打开并设有限流,Settings、Rebuild 等能力在非本机地址默认关闭。API 成本、可商用的具体范围及生产部署条件未说明。
许可证
MIT
最近推送
2026-10-31 23:44

资料检查:2026-11-01 07:00 · 卡片整理:2026-11-03 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证

职业应用

程序员

作为可集成的自然语言转 SQL 引擎,供开发者在自己的应用或数据工具中通过 CLI、REST API 或 Python SDK 调用:用户用英文提问,模型生成经 schema、外键和 RBAC 校验的类型化查询计划,再由 sqlglot 确定性生成 SQL 并执行返回答案。

查看内容依据
NL2SQL Engine 是一个自然语言转 SQL 引擎:用户用英文提问,模型输出 Pydantic 定义的类型化查询计划(表、连接、选择项、过滤条件),由逻辑校验器对照真实 schema、外键和调用者角色(RBAC)检查,通过后再由 sqlglot 确定性地生成 SQL 并执行、汇总答案。

官方使用入口 ↗

由 AI 根据来源材料整理,未进行安装或运行验证

这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。