关键前提:
1、如何理解表和字段;
2、如何把自然语言转化为正确的sql:含正确的表、where条件、结果字段等。
3、复杂sql的处理:可使用预定义的提示词+sql模板。
4、支持自定义注释。
效果的影响因素:
- 表和列注释的丰富程度:每张表及表中的列都添加注释,会提高查询的准确率。
- 用户问题与表中列注释的匹配程度:用户问题中的关键词和列注释保 持一致,语义上越接近,查询效果越好。
- 生成的SQL语句长度:SQL语句中涉及的列越少、条件越简单,查询 会越准确。
- SQL语句中的逻辑复杂程度:SQL语句中涉及的高级语法越少,查询越准确。
参考
https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/llm-based-nl2sql 自然语言到SQL语言转义(基于大语言模型的NL2SQL)