跳至内容

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

当用户用自然语言提问,但你的真实系统边界仍然是一套数据库时,Text-to-SQL 就是最直接的桥梁。

这里最难的通常不只是“把 SQL 写出来”,而是让模型真正理解 schema、在执行上保持安全,并且有办法判断结果到底对不对。

读的时候重点看

  • schema grounding:让 SQL 生成“有上下文、有约束”
  • 评测:避免“看起来对”但不可执行/不正确
  • 执行安全:只读、limit、参数化与权限隔离

什么时候更适合用它

  • 问题本身对应的是结构化表数据
  • 你能提供足够 schema 上下文,又不会暴露敏感信息
  • 执行安全和结果质量同样重要

如果你想本地复现

在本地 Cookbook 环境已经准备好后,可以对这个主题对应的示例做结构检查:

make test-notebooks NOTEBOOK=capabilities/text_to_sql/guide.ipynb