DataProbe引擎

更新时间:
复制 MD 格式

本文介绍PolarDB PostgreSQL知识平台的DataProbe引擎功能,包括数据集管理、语义建模、知识库增强和数据问答的操作说明。

功能概览

DataProbe面向结构化数据分析场景。您可以连接业务数据库,同步表结构、字段信息和表关系,并通过自然语言提问生成SQL,查看查询结果、图表和分析说明。对于业务状态码、指标口径、字段含义等数据库结构中无法直接表达的信息,可以通过知识库增强提升问答准确性。

DataProbe包含以下核心概念:

概念

说明

数据集

DataProbe访问业务数据库的连接配置。一个数据集对应一个数据库或指定Schema下的业务数据。

语义模型

从数据集中同步得到的表、字段、字段类型和表关系信息,用于辅助系统理解自然语言问题并生成SQL。

SQL Pairs

自然语言问题和SQL的示例对,适合沉淀高频、固定口径的查询。

指令

业务规则、指标定义、字段含义或状态码说明,适合补充全局业务口径。

数据问答

基于语义模型和知识增强内容,将自然语言问题转换为SQL并返回查询结果。

DataProbe的典型使用流程如下:

  1. 创建数据集。

  2. 同步语义模型。

  3. 配置SQL Pairs或指令。

  4. 发起数据问答并查看结果。

数据集

数据集用于保存DataProbe访问业务数据库所需的连接信息。创建数据集后,DataProbe可以读取指定数据库和Schema中的表结构。

创建数据集

  1. 在左侧导航栏中,选择DataProbe > 数据集

  2. 单击新建数据集

  3. 配置数据源连接信息,参数说明如下:

    参数

    说明

    示例

    数据集名称

    数据集展示名称。

    Sales Demo

    数据库类型

    数据源类型。

    PostgreSQLPolarDB PostgreSQL

    主机地址 (Host)

    数据库访问地址。

    pc-xxxxx.polardbpg.rds.aliyuncs.com

    端口 (Port)

    数据库端口。

    5432

    数据库名 (Database)

    需要连接的数据库名称。

    sales_demo

    用户名 (Username)

    数据库用户名。

    postgres

    密码 (Password)

    数据库密码。

    ********

    Schema

    需要同步的Schema。

    sales

  4. 单击创建

  5. 在数据集列表中单击测试按钮测试是否可连接成功

说明

建议为DataProbe配置只读数据库账号,避免误操作业务数据。

管理数据集

在数据集列表中,您可以查看、编辑或删除已有数据集。删除数据集会移除该数据集在DataProbe中的连接配置和相关语义信息,不会删除业务数据库中的原始数据。

语义建模

语义建模用于将数据库中的表、字段和关系同步到DataProbe。同步完成后,系统可以基于语义模型理解用户问题,并生成对应SQL。

同步语义模型

  1. 在左侧导航栏中,选择DataProbe > 语义建模

  2. 选择目标数据集。

  3. 单击同步结构同步语义模型

  4. 查看同步后的表、字段和关系信息。

同步完成后,建议检查以下内容:

  • 是否展示目标Schema下的业务表。

  • 字段名称、字段类型是否正确。

  • 表关系是否符合业务预期。

说明

如果业务数据库新增、删除或修改表字段,请重新同步语义模型。

知识库增强

知识库增强用于补充数据库结构中无法直接表达的业务知识,例如业务状态码、指标口径、字段含义和常用查询模式。DataProbe支持以下两种增强方式:

增强方式

说明

适用场景

SQL Pairs

维护自然语言问题和SQL的示例对。

高频查询、固定统计口径、标准报表类问题。

指令

维护业务规则、指标定义、状态码说明或字段含义。

净销售额、有效订单、状态码映射等业务口径。

SQL Pairs和指令的区别

您可以根据业务问题的稳定程度选择增强方式:

  • 如果问题和SQL基本固定,建议使用SQL Pairs。SQL Pairs适合沉淀高频查询、标准报表类查询和固定统计口径。

  • 如果问题涉及业务口径解释,建议使用指令。指令适合补充状态码、指标定义、字段含义和表关系说明。

  • 如果同一业务口径会影响多个问题,建议配置为全局指令。全局指令会作为通用业务知识参与问答。

  • 如果只希望某条规则作用于特定问题,建议配置为非全局指令,并绑定适用问题。

添加SQL Pairs

  1. 在左侧导航栏中,选择DataProbe > 知识库

  2. 选择SQL Pairs页签,单击添加

  3. 配置以下参数:

    参数

    说明

    问题

    用户可能输入的自然语言问题。

    SQL

    与问题对应的标准SQL。

  4. 单击保存

添加指令

  1. 在左侧导航栏中,选择DataProbe > 知识库

  2. 选择指令页签,单击添加指令

  3. 配置以下参数:

    参数

    说明

    示例

    指令内容

    业务规则、指标定义或状态码说明。

    S10表示有效收入订单,S20表示退款订单,S90表示无效订单。

    全局指令

    开启后,该指令会应用于相关问答。

    开启

    适用问题

    非全局指令可绑定部分问题,用于更精确地触发。

    各城市净销售额是多少?

  4. 单击保存

数据问答

数据问答用于通过自然语言查询结构化数据。系统会根据已同步的语义模型、SQL Pairs和指令生成SQL,执行查询并返回结果。

发起数据问答

  1. 在左侧导航栏中,选择DataProbe > 数据问答

  2. 选择目标数据集。

  3. 在输入框中输入业务问题。

  4. 单击发送

  5. 查看回答、SQL、数据和图表结果。

结果区域包含以下信息:

区域

说明

回答

基于查询结果生成的自然语言说明。

SQL

系统生成并执行的SQL。

数据

SQL查询返回的表格结果。

图表

根据查询结果生成的可视化图表。

思考过程

展示问题理解、模型检索和SQL生成过程。

查看问答结果

如果回答结果不符合业务预期,您可以按照以下顺序排查:

  1. 查看生成的SQL是否符合统计口径。

  2. 查看语义模型中的表、字段和关系是否正确。

  3. 检查是否需要补充SQL Pairs或指令。

  4. 确认业务数据库中的数据是否符合查询条件。

常见问题和处理建议如下:

问题

可能原因

处理建议

连接失败

数据源地址、端口、账号、密码或网络配置异常。

检查数据集连接信息,并确认数据库账号具备访问目标库和Schema的权限。

同步不到表

Schema配置不正确,或数据库账号无表结构读取权限。

检查数据集中的Schema配置,确认目标业务表存在且账号具备元数据读取权限。

无法生成SQL

语义模型未同步,或问题中涉及的表字段未被识别。

重新同步语义模型,并确认目标业务表已展示。

查询结果为空

SQL过滤条件与业务数据不匹配,或问题中的业务口径未说明。

查看SQL和数据页签,确认过滤条件是否正确。

结果与业务预期不一致

状态码、指标口径或字段含义缺少说明。

在知识库中补充指令,或为高频问题配置SQL Pairs。

SQL执行失败

表名、字段名、Schema或数据库权限异常。

检查数据集连接信息、Schema配置和数据库账号权限。

图表展示不符合预期

查询结果字段不适合当前图表类型。

调整问题描述,或查看数据页签确认返回字段。

在排查问答问题时,建议优先查看SQL页签。SQL可以帮助判断问题出在语义理解、业务口径还是底层数据。

权限与安全

DataProbe页面和接口均需要登录后访问。未登录访问DataProbe页面时,会跳转到登录页面。未携带有效认证信息调用DataProbe接口时,请求会被拒绝。

DataProbe访问业务数据库时,会使用数据集中配置的数据库账号。为降低安全风险,建议遵循以下原则:

  • 使用只读账号连接业务数据库。

  • 仅授权DataProbe访问需要分析的数据库和Schema。

  • 避免在数据集名称、指令或SQL Pairs中填写敏感信息。

  • 如果业务数据库权限发生变化,请重新测试数据集连接。

  • 删除DataProbe数据集只会删除平台侧连接配置和相关语义信息,不会删除业务数据库中的原始数据。

使用建议

  • 当业务库结构发生变化时,请重新同步语义模型。

  • 对于固定口径的高频问题,建议配置SQL Pairs。

  • 对于状态码、指标定义、字段含义等业务知识,建议配置指令。

  • 建议使用只读账号连接业务数据库,降低数据安全风险。