析言GBI配置和测试建议

更新时间:2025-04-08 03:06:25

本文将介绍如何配置和测试析言,帮助模型来理解业务,提高生成SQL的准确率。

您可以从以下几个方面配置和测试析言:

  1. 配置数据表信息。

    数据表、列、值的描述影响模型对于数据表的选择和生成查询问题的SQL,数据表信息可以帮助模型更好地理解数据表内容。

  2. 配置企业知识。

    在数据表信息配置完善的基础上,根据对析言的调试结果优化企业知识的配置。企业知识包括知识名词解释、同义词解释、业务逻辑解释及优化案例管理,不同类型的企业知识具备不同的作用。详情请参见企业数据管理

    • 知识名词解释:用于解释业务场景的专有名词。

    • 同义词解释:用于解释数据表中存储字段的多种常用叫法。

    • 业务逻辑解释:非通俗常规性知识,用于解释企业中特定的逻辑,例如定义计算公式、设置约定条件,业务逻辑并非添加数量越多效果越好。

    • 优化案例管理:标准版MIX支持此功能。在尝试调整问题问法及数据管理后,模型依然无法输出预期结果的情况下,您可以通过添加优化案例来指导模型进行学习。

  3. 改进提问技巧。

    推荐从易向难进行提问,测试析言的回答效果。

配置数据表信息

数据表管理中,打开已经连接的数据库,选择数据表,配置数据表信息。

参数名称

是否必填

参数说明

参数名称

是否必填

参数说明

数据表描述

必填

对数据表的整体的解释。解释这张数据表是关于什么的、主要包含什么信息、可以用来查询什么内容。

常见配置话术这是xx表,存储xx信息,用于查询xx内容

例如:这是customers表,存储客户信息,用于查询客户名称、客户邮箱等内容。

列描述

必填

描述字段的关键信息。无需在列描述中枚举或做过多的解释说明,简单扼要地描述字段表示的业务语义即可,字数建议控制在10字以内。

对于枚举类型的字段,如果需要解释每个枚举值的含义,建议在枚举值的映射中进行配置,不要写在列描述中。

外键

跨表查询必填

外键定义了数据表之间的依赖关系,如果需要多表连接,必须配置外键。

枚举类型候选值

枚举类型字段必填

是否枚举选择,表示该字段是枚举类型的字段,需要同步候选的枚举值。

枚举值管理

枚举类型字段必填

如果该枚举列存储的不是真实的枚举值,而是用特殊的编码来表示不同的含义,需要配置枚举值的映射关系,说明每个字段值的含义。下图左侧“枚举值”是数据库中实际存储的值,右侧“映射值”是该值所表示的含义。例如:产品类型中的01代表电器,02代表家具,03代表服装。

image.png

数据样例

选填

该字段在数据库中的样例值。对于表示时间日期的列,建议配置数据样例,帮助模型理解时间日期的格式。

配置企业知识

为什么配置企业知识

当模型不理解提问中的某个名词或者计算逻辑的时候,需要配置相应的企业知识,如业务逻辑、名词解释、案例等,帮助模型来理解业务,正确的选表和选字段,提高生成SQL的准确率。

测试问题

模型回答错误原因

优化措施

测试问题

模型回答错误原因

优化措施

今天销量最高的大区是哪个大区?

模型取错了时间,选取了交付时间,实际是要选销售时间

增加一条业务逻辑:计算某段时间的销量时,使用xxx字段。

2024年在xxxx市发动机企业销量及占比月度走势

模型理解错误,占比为xxxx市各发动机企业占所有发动机企业的占比,而非xxxx市占xx的,SQL占比不对

建议增加一条业务逻辑解释:

xxxx市发动机企业销量占比=xxxx市各发动机企业的销量/所有发动机企业的销量*100%

查询商家IDxxx的账户总金额

模型选错字段,生成的SQL有误

列描述虽有定义对应的列,但是对于总金额、总余额列描述还是会有混淆,可以在同义词配置中添加总余额=xxx、总金额=xxx

举个例子,第一次去别人家做客,需要找一个东西。

一些通识类或者有家里有标明xx东西在哪里的情况下。即便第一次来家里,也会知道碗筷在厨房里 ,衣服在衣柜里 ,鞋子在鞋柜里。或者知道手表在桌子上(有标明,即字段行描述中有写) 这些是不需要额外的输入即可找到,即标准模型可以直接生成SQL

针对一些不常见的,或者有具体含义的东西,需要一些额外的输入才能被找到,即需要配置业务逻辑。

  • 今年生日穿的衣服在哪里? 在没有额外的输入的时候,不知道具体指的哪件衣服,需要额外的信息输入: 今年生日穿的衣服是一件红色,印有一只黑色小猫的大衣。 有了这种输入,就可以快速找到是哪一件。 今年生日穿的衣服是一件红色,印有一只黑色小猫的大衣。 对析言来说,这就是一条业务逻辑。

  • 小黑在哪里? 同样,没有额外的输入的话,并不清楚小黑是什么。需要信息输入如:小黑是家里养的那只黑色的小猫。这是一个名词解释。

企业知识配置原则

  1. 语言简洁清晰,避免使用大段文本。

  2. 避免在业务逻辑中出现复杂的推理、或者if else的判断等。

  3. 业务逻辑优先使用数学公式或者SQL片段的形式。

  4. 业务逻辑之间不能有冲突,也不能与用户的问题、表格信息、案例库等出现冲突。

企业知识配置说明

知识名词解释

知识名词解释页面,点击新增知识,输入知识名称和知识描述,点击保存

image

示例如下:

知识名称配置为收入知识描述配置为收入指的是financial_report表的amount字段,amount为正数,即 financial_report.amount>0

同义词解释

同义词解释页面,点击新增词语,输入词语及其同义词,选择数据表,点击确认

image

同义词主要包括以下几个方面:

  • 枚举值的同义词。

    例如:枚举值为“红旗”。则此处,词语配置为红旗同义词配置为一汽红旗、红旗公司

  • 字段名的同义词。

    例如:数据表中的字段为“品牌”,则此处,词语配置为品牌同义词配置为企业、公司

业务逻辑解释

业务逻辑解释页面,点击新增逻辑解释,输入业务逻辑解释和业务逻辑类型,点击保存

重要

业务逻辑解释不是配置数量越多效果越好,建议精简配置。业务逻辑类型建议选择系统智能判断,如果是绝大多数问题都需遵循的业务逻辑,可设置为全局类型

image

业务逻辑解释中配置的自定义指标、公式等,建议以数学公式或者SQL片段的形式给出。自定义指标需要配置为系统智能判断,并写上对应的计算公式。

  • 数学公式形式:xx指的是xxx,定义是xxx,计算公式是xxx,如table.columnA/ (table.columnB+table.columnC} 。

    例如:完成率,同义词是完成进度、完成状态、完成情况,定义为:实际值/目标值,如果分母为0,完成率为-999。

  • SQL片段的形式:xx指的是xxx,定义是xxx,计算方式是xxx,如SELECT AVG(column_name) AS average_value FROM table_name。

    例如:完成率,同义词是完成进度、完成状态、完成情况,计算方式为:(CASE WHEN target_value = 0 THEN -999 ELSE actual_value / target_value END AS completion_rate)。

错误示例

建议修改

错误示例

建议修改

customer表里的用户数的逻辑是从表 ods_xxx_table中进行count(distinct userid)。

customer表的用户指的是tablename.colname字段,求玩家用户数时count(distinct colname)

转化率,也叫线索转化率,定义为:线索总数/大定总数。

转化率,也叫线索转化率,定义为:线索总数/大定总数,即COUNT(DISTINCT clew_identity_id) / SUM(CASE WHEN is_deposit = 1 OR is_deposit_new = 1 THEN 1 ELSE 0 END)

如果表中有a字段,计算时一定要把a字段放在where条件里?

当查询xx问题时,表xx的字段A=xxx。

优化案例管理

标准版MIX支持此功能。

优化案例管理页面的案例库管理页签,点击新增问法,输入问法描述和预期正确执行的完整SQL,点击保存

image

示例如下:

问法描述中输入20244月上海汽车销量预期正确执行的完整SQL中输入SELECT SUM(total) AS sales_qutity FROM tb_vehicle_newcarn WHERE substr(date,1,5) = "2024-03" AND province = '上海'

提问技巧

常见提问公式

when+who+where+what? 即查询xx时间主体是xx,条件是xx的某个指标。

从问题的难易程度划分为5个层级,推荐从易向难进行提问:

⭐️ 问题中包含的要素信息均能直接对应到表中存储的具体字段。

例如:20241020日产品A的销售额是多少?此问题中的时间、产品、销售额在数据表中均有对应的字段。

⭐️ ⭐️ 提问的问题中包含的要素信息可以对应到表中存储的具体字段,但需要进行基础运算。

例如:统计近两年每个季度每个类别的总销售额。

⭐️ ⭐ ️ ⭐️ 提问的问题中包含的要素信息涉及到企业的业务逻辑。

例如:列出所有已发货订单的详细信息。

说明:已发货的订单在数据表中没有直接字段,而是用物流状态这个字段来表达订单的状态,此时需要配置一条业务逻辑:当查询订单状态时,指的是查询订单的物流状态,使用order_status字段的内容。

⭐️ ⭐ ⭐️ ⭐ 对于标准版MIX如果优化业务逻辑或同义词配置后,模型依然表现不好,可以通过配置案例库来帮助模型自学习,添加具有代表性的一个问题和其对应的预期生成SQL内容。

image.png

⭐️ ⭐ ⭐️ ⭐ ⭐ 对于业务逻辑较复杂的可收敛场景,如果上述方式均无法满足准确率及时效性预期,建议使用定制版TURBO,对模型进行业务定制。

定制版TURBO仅用于定制化项目交付(包含使用定制模型进行付费POC项目交付)。若需购买定制版TURBO,请在下单前咨询对接的商务人员或提交工单至析言GBI产品研发团队。

提问时的常见错误

  1. 提问时没描述清楚

    错误示例

    错误原因

    改进建议

    错误示例

    错误原因

    改进建议

    哪个车销量增长?

    没有限制时间,销量增长无法对比

    8月对比7月,哪个车的销量有增长?

    9月份优惠券使用情况

    使用情况没有具体的说明,具体指优惠券使用率,优惠券使用金额,优惠券使用的数量?

    9月份通过优惠券付费的订单数量,或 9月份优惠券的使用金额等?

  2. 一次提问中包含了多个问题

    一个问题只能写一个SQL语句,析言无法处理一个问题需要多条SQL来回答的情况。

    错误示例

    改进建议

    错误示例

    改进建议

    每个店铺5月份的交易额以及各个门店9月的优惠券使用情况

    建议分两次来提问。

    去年广东省的平均销量和每个月的销量分别是多少

    一条SQL写不出来,建议分两次来提问。

  3. 提问中包含了业务逻辑,计算公式等众多信息

    错误示例

    改进建议

    错误示例

    改进建议

    xx市各车型(牵引车、载货车、自卸车、搅拌车)销量占比

    • 问题修改为:xx市各车型的销量占比

    • 增加一条业务逻辑:当咨询车型且未指定具体某一车型时,车型指的是牵引车、载货车、自卸车、搅拌车,即table表中字段chexing in (1,2,3,4)

    这些宝宝数据里面,有多少是喝xx产品的,xx产品在cdp_order_detail_newgoods_brand=‘xx’和cdp_rolex_skugoods_brand=‘xx’

    将这一段放在业务逻辑里:xx产品在cdp_order_detail_newgoods_brand=‘xx’和cdp_rolex_skugoods_brand=‘xx’

  4. 提问中包含了析言GBI暂不支持的功能

    暂不支持的功能

    错误示例

    错误原因

    改进建议

    暂不支持的功能

    错误示例

    错误原因

    改进建议

    非问数场景

    根据用户角色统计20248月的活跃用户数,并导出

    析言支持对数据结果下载,但提问中的导出命令无法执行

    删除提问中的导出命令,修改为:根据用户角色统计20248月的活跃用户数

    BI分析

    员工薪酬与商品收入是否满足线性相关,如果满足线性关系,请说明相关性以及如何影响。

    线性相关的分析类场景暂不支持

    分析、预测类问题不支持,提问中不要包含相关描述。

    SQL维度的多轮

    第一轮:20248月份杭州门店销量是多少?

    第二轮:在上述查询结果中,9月销量是多少?

    析言GBI多轮对话是问题维度,不支持在上次查询结果中进行二次查询

    第一轮:20248月份杭州门店销量是多少?

    第二轮:9月销量是多少?

常见问题

  1. 时间日期相关

    • 析言有默认的时间理解,对于动态的时间表达式比如今天、去年等,析言默认以北京时间作为当前的时间进行计算,暂不支持自定义。

    • 析言支持的动态时间表达式及对应的计算逻辑。

      业务逻辑配置案例.xlsx

    • 动态时间表达式的计算逻辑不支持自定义,即无法通过业务逻辑的配置来更改时间的推导。

      例如:近三天,析言默认近几天或者过去几天是包含今天的,如果不希望包含今天,需要换一种说法:不包含今天的近三天。

  2. 输出展示

    • 查询结果:析言默认展示数据库中实际查到的列名和列值,不支持通过业务逻辑的配置进行更改。

      比如这条业务逻辑是不支持的:查询结果展示字段中文名,不要展示英文原名。

    • 文本回复:析言输出的文本回复是对数据库查询结果的概括,不支持通过业务逻辑进行调整。

      比如这条业务逻辑是不支持的:当问题以“喂”开头时,回复固定话术xxxx。

  • 本页导读 (1)
  • 配置数据表信息
  • 配置企业知识
  • 为什么配置企业知识
  • 企业知识配置原则
  • 企业知识配置说明
  • 提问技巧
  • 常见提问公式
  • 提问时的常见错误
  • 常见问题