文档

NL2SQL服务配置

更新时间:

查询分析服务中的NL2SQL提供将自然语言查询转换为SQL语句的能力,本文介绍如何配置查询分析-NL2SQL服务。

效果展示

Query:高一三班有哪些模范生?

image

Query:2024年结案数最多的是哪5个案由?

image

如何配置

查询分析服务中的NL2SQL提供将自然语言查询转换为SQL语句的能力,使用NL2SQL服务,需要配置以下信息:

  • 表基础信息配置:配置接入NL2SQL服务依赖的业务数据表信息,包含字段名称、字段类型、字段枚举值、字段描述信息、字段映射以及表之间的关联关系等。

  • 学习样本配置:将业务上使用的高频问法、复杂问法及其对应的SQL语句配置在此处,提升NL2SQL准确性。同时,在使用NL2SQL服务期间,如遇到生成SQL不符合预期时,也可以将对应问法和SQL语句配置在此处。

  • 自定义规则配置(业务术语、概念等知识配置):用户输入的问法中,通常会包含一些业务术语、概念等知识,为了帮助模型理解业务知识、概念,需要将术语、概念及其对应的解释配置在此处。

    如:最近一周积水治理情况如何?

    涉及知识:积水治理包含雨水井盖、道路积水事件。

具体步骤

  1. AI搜索开放平台选择模型服务>服务配置,然后单击创建

    服务类别、配置类型选择默认配置,输入配置名称,如xsxx(表示学生信息数据分析)。

  2. 单击保存并进入下一步,参照以下格式配置NL2SL服务所需要的数据表信息。

    • 表基础配置

      [
          {
            //每个表一个字典
          "table"://表名
          "schools",
          "columns": [
            {
              //列集合
            "column": "class",//列名
            "description": "班级",//列描述,同于询问时的用法
            "type": "str",//数据类型
            "example": ["高一3班", "火箭班"],//样例值
            "value_mapping": []
          }, 
            {
            "column": "school",
            "description": "学校",
            "type": "str",
            "example": ["A市B一中学", "AA五中"],
            "value_mapping": []
          }
          ]
        }, {
          "table":
          "students",
          "columns": [{
            "column": "id",
            "description": "学号",
            "type": "int",
            "example": [10002, 100001],
            "value_mapping": [//两个list 上面是值,下面是值的含义,表示值的实际对应的语义
              [10002,"张三"],
          [100001,"李四"]]
      },
          {
            "column": "class",
            "description": "班级",
            "type": "str",
            "example": ["高一3班", "火箭班"],
            "value_mapping": []
      }]
      }]

      表名table以小写字母开头,仅支持小写字母、数字或下划线,且长度不超过30位。

      字段名column以小写字母开头,仅支持小写字母、数字或下划线,且长度不超过30位。

      字段类型type支持text、string、int8、uint8、int16、uint16、int32、integer、uint32、int64、uint64、float、double、location、date、time、timestamp。

    • 表关联配置

      ["students.class=schools.class"]
  3. 单击下一步,配置自定义规则和学习样本,提升NL2SQL的识别效果。

    • 学习样本配置:将业务侧使用的高频问法、复杂问法及其对应的SQL语句配置在此处,提升NL2SQL准确性。同时,在使用NL2SQL服务期间,如遇到生成SQL不符合预期时,也可以将对应问法和SQL语句配置在此处。

      [
       {
          "query":"张三是哪个班的",
          "sql" : "SELECT class FROM students WHERE name = 张三"
        }
      ]
    • 自定义规则配置(业务术语、概念等知识配置):用户输入的问法中,通常会包含一些业务术语、概念等知识,为了帮助模型理解业务知识、概念,需要将术语、概念及其对应的解释配置在此处。

      如:模范生是指学号(id)<=10009的学生,体育生是指学号(id)>100000的学生。

      [
        {"key":"模范学生",
          "value":"students.id <= 10009"},
        {"key":"体育生",
          "value":"学号大于100000的学生"}
       ]
  4. 单击下一步单击立即激活,页面跳转到服务配置列表,激活状态处于激活中,系统对上述配置信息进行格式校验。

    激活状态为已激活时,表示服务配置可正常使用,可以通过体验中心测试NL2SQL效果。

后续步骤

如果您希望在业务代码中集成NL2SQL服务,请访问NL2SQL API