查询分析服务中的NL2SQL提供将自然语言查询转换为SQL语句的能力,本文介绍如何配置查询分析-NL2SQL服务。
效果展示
Query:高一三班有哪些模范生? | Query:2024年结案数最多的是哪5个案由? |
如何配置
查询分析服务中的NL2SQL提供将自然语言查询转换为SQL语句的能力,使用NL2SQL服务,需要配置以下信息:
表基础信息配置:配置接入NL2SQL服务依赖的业务数据表信息,包含字段名称、字段类型、字段枚举值、字段描述信息、字段映射以及表之间的关联关系等。
学习样本配置:将业务上使用的高频问法、复杂问法及其对应的SQL语句配置在此处,提升NL2SQL准确性。同时,在使用NL2SQL服务期间,如遇到生成SQL不符合预期时,也可以将对应问法和SQL语句配置在此处。
自定义规则配置(业务术语、概念等知识配置):用户输入的问法中,通常会包含一些业务术语、概念等知识,为了帮助模型理解业务知识、概念,需要将术语、概念及其对应的解释配置在此处。
如:
最近一周积水治理情况如何?涉及知识:积水治理包含雨水井盖、道路积水事件。
模范生是指编号小于或者等于10的学生,体育生是指编号大于11的学生。
具体步骤
在AI搜索开放平台选择模型服务>服务配置,然后单击创建。
服务类别、配置类型选择默认配置,输入配置名称,如xsxx(表示学生信息数据分析)。
单击保存并进入下一步,参照以下格式配置NL2SL服务所需要的数据表信息。
表基础配置
[ { "table":"schools", "columns": [ { "column": "class", "description": "班级", "type": "string", "example": ["高一3班", "火箭班"], "value_mapping": [] }, { "column": "school", "description": "学校", "type": "string", "example": ["A市B一中学", "AA五中"], "value_mapping": [] } ] }, { "table":"students", "columns": [ { "column": "id", "description": "学号", "type": "int", "example": [1, 2], "value_mapping": [ [1,"张三"], [2,"李四"] ] }, { "column": "class", "description": "班级", "type": "string", "example": ["高一3班", "火箭班"], "value_mapping": [] } ] } ]
表名
table
以小写字母开头,仅支持小写字母、数字或下划线,且长度不超过30位。字段名
column
以小写字母开头,仅支持小写字母、数字或下划线,且长度不超过30位。字段类型
type
支持text、string、int8、uint8、int16、uint16、int32、int、uint32、int64、uint64、float、double、location、date、time、timestamp。表关联配置
["students.class=schools.class"]
单击下一步,配置自定义规则和学习样本,提升NL2SQL的识别效果。
学习样本配置:将业务侧使用的高频问法、复杂问法及其对应的SQL语句配置在此处,提升NL2SQL准确性。同时,在使用NL2SQL服务期间,如遇到生成SQL不符合预期时,也可以将对应问法和SQL语句配置在此处。
[ { "query":"张三是哪个班的", "sql" : "SELECT class FROM students WHERE name = '张三'" } ]
自定义规则配置(业务术语、概念等知识配置):用户输入的问法中,通常会包含一些业务术语、概念等知识,为了帮助模型理解业务知识、概念,需要将术语、概念及其对应的解释配置在此处。
如:模范生是指学号(id)<=10的学生,体育生是指学号(id)>11的学生。
[ { "key":"模范学生", "value":"students.id <= 10" }, { "key":"体育生", "value":"学号大于11的学生" } ]
单击下一步,单击立即激活,页面跳转到服务配置列表,激活状态处于激活中,系统对上述配置信息进行格式校验。
激活状态为已激活时,表示服务配置可正常使用,可以通过体验中心测试NL2SQL效果。
后续步骤
如果您希望在业务代码中集成NL2SQL服务,请访问NL2SQL API。