自然语言指令优化策略
基于实际测试经验,提供以下提升SQL生成准确率的方法论:
- 结构化表达::
采用”[动作]+[对象]+[条件]+[限定]”模板,例如
“统计(动作) 订单表(对象) 中2023年Q4的(条件) 按省份分组的销售额TOP5(限定)” - 避免歧义术语::
用”注册时间最近的前50个用户”替代模糊的”新用户”,确保工具生成ORDER BY register_time DESC LIMIT 50
- 字段显式指定::
当需要特定字段时,明确说明”查询用户的id、name和last_login时间”,而非简单”查用户信息” - 复杂查询分步进行::
对于多表关联查询,可先通过”显示orders表和users表的关联字段”了解结构,再构建完整查询
当结果不符合预期时,建议使用/model
切换不同的语言模型(如从Gemini换到GPT-4),不同模型对自然语言的理解存在差异。
This answer comes from the articleDbRheo-CLI: Command-line tool for manipulating databases and analyzing data using natural languageThe