数据处理工具
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.
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
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。