Skip to content

AI 问数与数据预警

报表中心提供两项智能能力:用自然语言生成 SQL(NL2SQL)降低数据集编写门槛,以及对数据集聚合值做阈值监控并自动通知(数据预警)。

AI 问数(NL2SQL)

数据集编辑页(SQL 类型)点「AI 问数」,用自然语言描述你想查的数据,系统调用配置的 AI 服务商生成一条只读 SQL,自动填入 SQL 编辑框,确认/微调后即可试跑保存。

使用步骤

  1. 数据集选 SQL 类数据源,点「AI 问数」。
  2. 输入需求,如「按部门统计本月订单金额,从高到低」。
  3. 点「生成 SQL」,结果写入 SQL 框。
  4. 点「试跑预览」验证,必要时手动调整。

安全与边界

  • 生成的语句强制为只读 SELECT/WITH,服务端二次校验拦截任何写操作(INSERT/UPDATE/DELETE/DROP…)与多语句。
  • 提供给 AI 的库表上下文已剔除敏感表与敏感列(用户密码、令牌、密钥、各类凭据配置等),降低敏感数据暴露面。
  • 依赖系统已配置默认 AI 服务商(见 AI 能力 / AI 服务商配置);未配置时会提示。

AI 仅用于「生成 SQL 草稿」,最终执行仍走数据集的只读取数通道,可放心使用。

数据预警

数据预警对某数据集的聚合值按阈值监控,触发时通过邮件 / 站内信通知。在「报表中心 → 数据预警」(/report/alerts)管理。

新建预警规则

字段说明
名称规则名称
数据集被监控的数据集
聚合方式sum / avg / max / min / count / first
监控字段聚合的列(count 可不填)
运算符> < =
阈值触发比较的数值
评估 Cron定时评估表达式(留空=仅手动)
分组维度可选;按该字段分组聚合,任一组命中阈值即触发(如「任一部门人数 > 100」),通知列出命中组明细
通知通道邮件 / 站内信 / Webhook(企微、钉钉机器人或通用 JSON 端点,按域名自动适配报文)(可多选)
收件人邮箱(逗号分隔);站内信推给创建者;Webhook 需填机器人地址
静默期(分钟)持续触发时,距上次通知不足该时长不重复通知,防刷屏;0=每次触发都通知(默认 60)
恢复通知开启后,从触发恢复正常时发送一条恢复通知

例:监控「未支付订单数」数据集,count > 100 时告警。

评估与通知

  • 定时评估:配置 Cron 后,定时任务每分钟巡检到期规则,自动取数 → 聚合 → 比较,触发即通知。
  • 手动评估:列表点「评估」立即跑一次,返回实际值与是否触发。
  • 通知风暴防护:新触发(未触发 → 触发)立即通知;持续触发期间按「静默期」限频;触发 → 恢复时按需发送恢复通知。
  • 列表展示最近触发状态、最近实际值与评估时间。

约束

预警是无用户上下文的全局评估,因此绑定的数据集不能使用 ${__userId} 等数据权限变量、也不能含必填参数(保存时拦截),否则会因缺少上下文导致漏报/误报。请为预警准备「对所有人一致」的数据集。

权限

操作权限码
AI 问数report:dataset:create
预警查看 / 评估report:alert:list
预警新增report:alert:create
预警编辑report:alert:update
预警删除report:alert:delete

Built with VitePress for local documentation preview.