让不懂SQL的人也能查数据库,这是Text-to-SQL的愿景。
基本流程
用户提供自然语言问题。大模型结合表结构信息生成SQL。执行SQL返回结果。根据结果生成自然语言回答。
关键:Schema信息
把数据库的表名、列名、列类型、表关系提供给模型。信息越准确,生成的SQL越靠谱。提供几个示例做few-shot效果明显提升。
安全检查
对生成的SQL做安全检查,禁止DROP、DELETE、UPDATE等写操作。不建议直接对外暴露,SQL注入风险和数据安全需要额外防护。
适用场景
内部BI工具、数据看板、客服查询系统。数据分析团队用自然语言提问就能拿到数据,大幅降低数据查询门槛。