Skip to main content

10分钟快速快速体验一个Demo项目

  • 本教程主要内容是通过现有MySQL数据库,在ChatBI中快速体验Demo项目的实施流程,涵盖数据库连接、数据建模、问答测试等重要步骤演示。
  • 我们提供含Demo数据的MySQL数据库,您可直接连接并使用其中数据,快速体验整个实施流程。

目录

1. 基础概念

1.1 什么是数据建模?

数据建模是将数据库中的信息整理成"分析地图"的过程,目的是让BI软件理解数据间的关系,辅助生成报表和图表。

1.2 实体、事件、ER模型的区别

概念通俗解释例子
实体要分析的"东西"客户、产品、订单
事件实体之间发生的"动作"客户下单、产品出库
ER模型展示实体和关系的"地图"客户→订单→产品的连接关系图

2. 数据库连接

2.1 连接前需要准备什么?

  • 数据源:DEMO-TEST
  • 数据源类型:MySQL
  • 是否只读:是
  • 主机名/IP地址:139.224.53.201
  • 端口:3306
  • 数据库名称: demo-test
  • 用户名: read_user
  • 密码: myread

输入图片说明 输入图片说明

点击确定后需测试连接,顶部会显示连接成功。接下来即可开始建模工作,文档后续将以该数据库为例进行建模演示。

3. 建模操作

3.1 数据库选择表格

3.1.1 点击选表

输入图片说明

3.1.2 点击数据库中的表

截图4

目前展示的是默认数据库中的所有表,若数据来自不同库,需在顶部栏输入其他数据库名称。确定所需表格后,点击 创建schema

3.2 数据建模

3.2.1 建模方法论

本系统在三范式建模或雪花模型(维度建模)下可获得较好的问答效果,同时能降低ETL工作量,其中三范式建模效果最佳。建模案例如下:

建模案例

关于三范式建模或雪花模型的相关文章,可点此查看

除上述两种建模方式本身的要点外,还需注意以下内容:

要点一:一个概念尽量只存在于一处

举例:北京、上海等地理位置信息,可统一存储在一张地理位置表中,其他表通过外键关联到此表,而非在每张表中单独设置地理位置字段。

要点二:数据尽量清洗干净

举例:若企业数据中某子公司名为【北京】,会与地理位置【北京】产生冲突。当用户询问"北京今年业绩"时,系统会出现歧义(虽会二次询问用户意图,但会影响体验)。

以下为具体操作示例。

3.2.2 示例

在数据库管理界面选择需建立的实体表后,主要工作步骤如下:

为实体表选择语义模型
字段解释
ID主键,代表数据在表中的唯一性。实体类型的Schema必须包含ID属性;事件类型的Schema可包含或不包含
时间戳事件类型的Schema必须包含该字段,代表事件发生时间(精确到秒);实体类型的Schema不应包含此类型数据
名称仅实体类型的Schema会出现,代表可通过名称查询某行数据(如人的姓名)
分类代表筛选维度,通常对应表中的多行数据(如性别分为男性和女性)
实体连接其他实体表的字段(外键),需填写ref配置项
字符串基础类型,仅用于页面显示,系统不学习其内容,无法通过问答交互
数字Double类型
整数Int类型
货币底层为double类型,支持问答中的货币转化(如默认单位为人民币,可自动转化为美元查询)
百分比底层为double类型,标识不可加性,UI以百分比形式显示
序号底层为Int类型,影响实体返回顺序(值越小越靠前)
布尔值Boolean类型
日期时间DateTime类型(系统无Date类型,均以DateTime存储)
图像底层保存图片URL,UI会显示图片
文件底层保存文件URL,UI支持下载
操作说明

表中的ID和名称会分别对应数据库表的字段名和注释。需根据表的实际业务含义,为每个字段选择对应的语义模型,并为实体表添加同义词(帮助AI大模型准确定位字段或实体,提高问答准确性)。

实体表创建截图

实体表创建完成后,可在数据总览界面查看实际效果和检查数据:

数据总览截图

为事实表选择语义模型

需通过产品、店铺等字段连接实体表,将语义类型设为"实体"并选择相应实体:

事实表语义模型选择

建立完成后,可运行建模检查、查看ER图,并检查数据:

建模检查截图

事实表中关联的字段原本为ID,关联后会自动显示名称,可点击查看明细;若未显示明细,需检查字段对应关系:

输入图片说明 明细查看截图2

模型搭建完成后,接下来制作自定义指标"达成率(销售额/目标额)"。

自定义指标
  1. 进入系统设置页面 输入图片说明
  2. 选择指标所在的schema(表),设置指标名称、同义词,以及是否可加、是否发布。
    本教程指标为跨事实表指标,门店选择任意即可;若涉及专家模式中的默认条件,需选择带有默认条件的表作为指标的schema。 输入图片说明
  3. 点击代码列的"点击修改"按钮,系统提供基于问答模式的指标设置,通过简单语言定义即可。 输入图片说明

确定后点击保存,若保存失败,说明系统无法理解"销售额""目标额"的含义,需检查字段名及其同义词,确保可在问答中被成功解析。

现在整体的建模环节已经基本完成,记得回到业务建模界面点击重新学习所有表 输入图片说明

等待1分钟左右学习,完成后即可进入问答测试环节。

4. 问答测试

4.1 问答示例

为保证数据查询准确性,本产品的问答方式需遵循"维度+指标"公式。示例如下:

  1. 今年各门店的达成率 输入图片说明

其他问答示例: 2. 上季度销售额门店top5 3. 3月份女士羊绒衫销售额 4. 去年女装的销售额 5. 销售额最高的门店各产品销售额占比

4.2 问答效果及处理方式

以问题2为例:

问题2效果截图

若结果正确且问题被大模型完全识别(未识别内容会标记为红色),可添加到测试用例(仅logicform),方便后续改动后检查:

添加测试用例截图

如果问答方式变一下,用到我们没有设置好的指标,未识别的语言会标红,这时你需要去点击侧边的查看sql,里面分别有sql、logicform,以及我们大模型是如何分词的:

查看SQL截图

一般情况下,标红的情况是大模型没有找到建模中相应的指标,需要去完善同义词。数据错误去检查sql和logicform。

4.3 测试用例检查

在建模过程中,很多细节很难一次性全部完善,为了判断我们原有的相关问题是否发生变化,我们可以一键运行测试用例去检查之前的测试用例,去检查一些实际的问题。来到页面点击运行测试用例,并且查看结果:

运行测试用例截图

这里我故意制造了一些麻烦,我们可以看到改动后出现了logicform不匹配的问题:就是logicform发生变化就会显示红叉:

测试用例错误截图

我们就可以点击红叉进去检查logicform发生了什么变化:

Logicform对比截图

明显左右两边的logicform对不上了,并且右侧还有error报错,这个时候就需要去检查建模了。

如果说这个右边的新logicform在客观判断下是正确的,点击重新生成,即可更新测试结果:

重新生成截图

这样测试的完整流程就结束了。