如何优化 AskTable 的准确率
提高 AskTable 的准确率,可以从数据治理、提供高质量训练数据,以及设定个性化偏好三个方面入手。
1. 优化数据结构,提升数据质量
要让 AskTable 更准确地理解和查询数据,首先要优化数据库的表结构和字段定义。
- 精简数据表:仅保留必要的表,减少冗余数据。

- 筛选关键字段:隐藏不必要的字段,确保查询更聚焦。

- 开启 AI 搜索:对于人名、地名、公司名、产品名等字段,建议默认启用 AI 搜索,以提高查询准确率。

- 定义枚举值:如性别、状态等字段,应提供清晰完整的定义。例如,性别字段
sex=1
表示“男”,sex=2
表示“女”。

- 标注数据单位:明确字段的单位,如金额字段应注明单位是“分”还是“元”。

-
描述外键关系:清晰说明外键字段与哪张表的主键关联,避免误解。
示例:这里
order.x_id
(对应products.id
) ,则需要对x_id
字段做特别说明。但如果字段名字清晰,比如order.product_id
(对应products.id
) 则一般可跳过该步骤,AI 会自动匹配。

- 使用场景说明:在表的定义中,描述该表适用于哪些业务场景,帮助 AI 理解数据的应用方式。
- 控制表的数量:
- 单个机器人访问的表不超过 100 个。
- 关联查询(JOIN)的表不超过 5 个,以减少查询复杂度。
- 控制字段的数量:
- 单表字段最好不要超过 100 个,避免上下文过长,AI 推理失败。
2. 提供高质量的训练数据, 提升 AI 理解力
AskTable 可以通过训练数据不断优化查询结果,学习如何更准确地回答用户问题。
- 标记正确答案:对于符合预期的查询结果,可以使用“点赞”功能,让 AskTable 记住最佳答案。

- 手动添加训练数据:可以提前录入一些典型问题及其对应的 SQL 语句,帮助 AI 识别复杂查询逻辑。

- 固化复杂查询逻辑:对于涉及多表关联或计算的复杂查询,可以通过训练数据固化最佳实践,确保 AI 生成高质量的 SQL。
3. 设定个性化偏好,让 AI 更贴合业务需求
通过设定查询偏好,可以让 AskTable 在回答问题时更符合业务习惯。
- 调整数据展示方式:
- 例如,手机号可以默认隐藏中间 4 位 (
138****5678
)。
- 例如,手机号可以默认隐藏中间 4 位 (
- 定制查询返回字段:
- 例如,查询用户信息时,可设定默认返回
ID
和手机号
,而非全部字段。
- 例如,查询用户信息时,可设定默认返回
- 设定默认查询时 间范围:
- 例如,若未指定时间范围,默认查询最近 30 天的数据。

通过这些优化措施,AskTable 可以更准确地理解用户的意图,提高查询结果的精准度,从而更好地支持业务决策。