让不懂SQL的人也能查数据库,这是Text-to-SQL的愿景。

基本流程

用户提供自然语言问题。大模型结合表结构信息生成SQL。执行SQL返回结果。根据结果生成自然语言回答。

关键:Schema信息

把数据库的表名、列名、列类型、表关系提供给模型。信息越准确,生成的SQL越靠谱。提供几个示例做few-shot效果明显提升。

安全检查

对生成的SQL做安全检查,禁止DROP、DELETE、UPDATE等写操作。不建议直接对外暴露,SQL注入风险和数据安全需要额外防护。

适用场景

内部BI工具、数据看板、客服查询系统。数据分析团队用自然语言提问就能拿到数据,大幅降低数据查询门槛。