技术博客
衡石技术博客是一个围绕数据分析和BI领域提供丰富实用的技术文章、案例分析和实战经验的博客平台。

免费试用

全部

帮助手册

API文档

课堂中心

技术博客

白皮书

嵌入式BI + ChatBI:打造无缝嵌入的对话式分析体验实战指南
作者:HENGSHI 时间:2026-03-08

在企业级SaaS产品的演进过程中,数据分析能力的交付形态正在经历一场静默的革命。从最初的独立报表模块,到嵌入业务页面的图表组件,再到如今能够用自然语言交互的智能分析助手——数据分析正在从“功能”演变为“环境”,从“工具”演变为“伙伴”。

这场革命的核心驱动力,是嵌入式BIChatBI的深度融合。嵌入式BI让分析能力“无处不在”,ChatBI让分析交互“无师自通”。当两者结合,用户可以在业务发生的任何节点,用最自然的对话方式获取数据洞察,无需切换系统,无需学习工具。

本文将站在SaaS厂商技术决策者的视角,以衡石科技的实践为蓝本,提供一份从架构设计到代码落地的完整实战指南。


一、融合架构:从“嵌入功能”到“融入体验”

在开始集成之前,我们需要先理解嵌入式ChatBI的架构设计理念。

1.1 传统嵌入式BI的局限

传统嵌入式BI通常采用IFrame方式,将整个仪表板作为黑盒嵌入。这种模式存在天然缺陷:

  • 交互隔离:用户无法与仪表板内的元素进行细粒度交互

  • 上下文割裂:仪表板无法感知宿主页面的业务上下文

  • 体验断层:视觉风格难以完全融合,用户能感知到“进入了另一个系统”

1.2 衡石的融合架构

衡石科技的嵌入式ChatBI采用组件化+API化的架构:

text

宿主应用前端 → 衡石UI组件库(React/Vue/Web Component)              ↓        衡石API网关(认证/上下文/查询)              ↓      衡石语义层(指标/维度/权限)              ↓          数据源层

这一架构的核心特点是:

  • 组件级嵌入:图表、筛选器、对话输入框都可作为独立组件嵌入

  • 上下文感知:组件自动捕获宿主页面信息,传递给查询引擎

  • API开放:所有能力通过API暴露,支持深度定制


二、第一步:上下文感知的嵌入设计

嵌入式ChatBI与普通ChatBI的最大区别在于:它知道用户正在做什么

2.1 上下文捕获机制

当用户在CRM的客户详情页打开AI助手时,我们希望系统自动理解:“这个客户”指的是当前页面的客户。衡石通过以下机制实现:

前端上下文注入

jsx


自动上下文解析当用户提问“这个客户上个月买了什么”时,系统自动:

  1. 从上下文中获取entityId=12345

  2. 将问题解析为:“查询客户ID=12345在2025年2月的购买记录”

  3. 附加权限过滤:确保当前用户有权查看该客户数据

2.2 动态上下文继承

在多轮对话中,上下文需要持续继承和演化:

javascript

// 第一轮用户:这个客户最近有异常吗?系统:该客户近30天登录次数下降80%,3个工单未解决// 第二轮(自动继承上一轮的“该客户”)用户:和上个月比呢?系统:对比1月,登录次数下降60%,工单数量增加2个// 第三轮(用户指定新实体,部分继承上下文)用户:再看看华东区的同类客户系统:华东区同行业客户平均登录次数下降20%,该客户低于平均水平

前端SDK维护会话ID和上下文栈,每次请求携带完整的历史上下文快照。


三、第二步:自然语言交互的工程实现

上下文感知解决了“在哪里”的问题,自然语言交互则解决“怎么问”的问题。

3.1 意图识别与实体解析

衡石的NL2Query引擎采用多阶段解析架构

阶段一:意图分类识别用户想要执行的操作类型:

  • 查询类:“销售额是多少?”

  • 对比类:“和上个月比怎么样?”

  • 归因类:“为什么下降?”

  • 预测类:“下个月会怎样?”

阶段二:实体识别从问题中提取关键实体:

  • 指标:“销售额”、“客单价”、“活跃用户”

  • 维度:“华东区”、“手机产品线”、“新客户”

  • 时间:“上个月”、“去年同期”、“最近7天”

阶段三:语义映射将业务术语映射到底层数据模型:

  • “销售额” → SUM(amount) WHERE status='paid'

  • “活跃用户” → COUNT(DISTINCT user_id) WHERE last_login > now() - interval '30 days'

3.2 查询生成与优化

解析完成后,系统生成可执行的查询语句:

sql

-- 原始问题:“华东区上个月销售额top5的产品”SELECT   product_name,  SUM(amount) as sales_amountFROM sales_factJOIN product_dim ON sales_fact.product_id = product_dim.idWHERE   region = '华东'   AND date >= '2025-02-01'   AND date <= '2025-02-28'GROUP BY product_nameORDER BY sales_amount DESCLIMIT 5

查询优化策略

  • 下推优化:尽可能将计算下推到底层数据库

  • 预聚合命中:识别是否可以使用物化视图

  • 缓存检查:相同查询是否已有缓存结果

3.3 结果呈现与可视化

查询结果需要以最适合的形式呈现。衡石的智能可视化引擎自动决定:

  • 单值结果:大号数字展示,如“总销售额:1,280万”

  • 多行多列:表格展示,支持排序和筛选

  • 时间趋势:折线图,可选柱状图

  • 分类对比:柱状图或饼图

  • 地理分布:地图

可视化结果还可以嵌入宿主页面的任意位置:

jsx

{    if (result.type === 'time-series') {      // 将趋势图渲染到页面的主图表区域      updateMainChart(result.chartData);    }  }}/>


四、第三步:权限与多租户的穿透设计

嵌入式场景中,用户可能从多个入口访问数据,权限控制必须贯穿始终。

4.1 三层权限模型

衡石实现认证层-数据层-字段层的三层穿透:

认证层:通过JWT令牌传递用户身份

json

{  "user_id": "u12345",  "tenant_id": "t67890",  "role": "sales_manager",  "permissions": ["view_sales", "view_customer"]}

数据层:所有查询自动附加租户和行级过滤

sql

-- 原始查询SELECT region, SUM(amount) FROM sales GROUP BY region-- 实际执行(自动注入)SELECT region, SUM(amount) FROM sales WHERE tenant_id = 't67890'   AND (team_id IN (SELECT team_id FROM user_teams WHERE user_id = 'u12345'))GROUP BY region

字段层:敏感字段动态脱敏

  • 普通销售查看客户列表:姓名显示,电话显示后四位

  • 销售总监查看:姓名显示,电话全显

  • 财务查看:同时显示交易金额

4.2 动态数据源路由

对于采用物理隔离的大客户,系统需要动态路由到正确的数据源:

javascript

// 租户配置示例{  "t67890": {    "datasource": {      "type": "mysql",      "host": "db-tenant-a.company.com",      "database": "sales_db",      "schema": "tenant_67890"    }  },  "t67891": {    "datasource": {      "type": "snowflake",      "account": "tenant-b.snowflakecomputing.com",      "warehouse": "TENANT_B_WH"    }  }}

当租户t67890的用户发起查询时,系统自动路由到对应的MySQL实例。


五、第四步:可执行洞察的闭环设计

数据分析的最终价值是驱动行动。嵌入式ChatBI应该让用户从洞察直接进入行动。

5.1 行动按钮的动态生成

根据洞察类型和用户角色,系统动态生成可执行的操作:

json

{  "insight_id": "insight_12345",  "title": "客户流失风险预警",  "content": "客户'XX科技'近30天登录次数下降80%,3个售后工单未解决",  "actions": [    {      "label": "创建跟进任务",      "type": "api_call",      "endpoint": "/api/tasks",      "method": "POST",      "payload": {        "type": "customer_followup",        "customer_id": "{{context.customerId}}",        "priority": "high",        "due_date": "2025-03-06",        "description": "客户活跃度异常,需跟进"      }    },    {      "label": "发送预警邮件",      "type": "api_call",      "endpoint": "/api/notifications/email",      "payload": {        "to": "sales_manager@company.com",        "template": "customer_risk_alert",        "customer_id": "{{context.customerId}}"      }    },    {      "label": "查看客户详情",      "type": "navigation",      "url": "/customers/{{context.customerId}}/details"    }  ]}

5.2 与业务系统的深度集成

行动按钮需要与SaaS产品的业务系统无缝对接。衡石支持两种集成方式:

API直接调用:前端直接调用宿主应用的API,实现即时操作

事件机制:前端触发自定义事件,宿主应用监听并处理

javascript

// 衡石组件触发事件window.dispatchEvent(new CustomEvent('hengshi:action:execute', {  detail: { actionId: 'create_task', payload: {...} }}));// 宿主应用监听window.addEventListener('hengshi:action:execute', (e) => {  if (e.detail.actionId === 'create_task') {    createTask(e.detail.payload);  }});

5.3 决策闭环的数据反馈

用户执行操作后,系统记录结果,形成反馈闭环:

  • 用户是否采纳了建议?

  • 采纳后问题是否解决?

  • 哪些类型的洞察转化率最高?

这些反馈用于持续优化AI代理的推荐模型。


六、实战案例:CRM中的智能分析助手

让我们通过一个完整案例,串联整个集成流程。

6.1 场景设定

某CRM SaaS厂商希望为销售团队打造一个智能分析助手,实现:

  • 在客户详情页直接提问客户相关数据

  • 在销售看板中支持自然语言下钻

  • 在审批流程中实时提供决策支持

6.2 集成步骤

步骤一:安装衡石SDK

bash

npm install @hengshi/chatbi-react

步骤二:在客户详情页嵌入AI助手

jsx

// CustomerDetailPage.jsximport { ChatAssistant } from '@hengshi/chatbi-react';export function CustomerDetailPage({ customer }) {  return (    

                     
 );}

步骤三:在销售看板中嵌入智能下钻

jsx

// SalesDashboard.jsximport { ChartWidget, ChatInput } from '@hengshi/chatbi-react';export function SalesDashboard() {  const [chartData, setChartData] = useState(null);    return (    

     

销售看板

            {          // 将查询结果渲染到主图表          setChartData(result.chartData);        }}      />            {chartData && }            
                             
   
 );}

步骤四:在审批页面嵌入智能决策支持

jsx

// ApprovalPage.jsximport { InsightCard } from '@hengshi/chatbi-react';export function ApprovalPage({ approval }) {  // 根据审批类型自动获取相关洞察  const insightContext = {    type: approval.type,    entityId: approval.customerId,    amount: approval.amount,    discount: approval.requestedDiscount  };    return (    

     

审批详情

                           
 );}

6.3 上线效果

集成上线后,该CRM产品实现了:

  • 用户活跃度:AI助手日均使用量是传统报表模块的5倍

  • 决策效率:审批平均耗时从9.6小时降至1.7小时

  • 用户满意度:NPS提升22个百分点,客户反馈“感觉产品懂我了”

  • 研发效率:报表定制需求减少80%,研发团队专注于核心功能


七、性能优化与监控

嵌入式场景对性能要求极高。衡石提供多级优化策略:

7.1 查询性能优化

  • 多级缓存:结果缓存、预聚合缓存、元数据缓存

  • 查询下推:尽可能让数据库执行计算,减少数据传输

  • 异步计算:复杂查询后台异步执行,前端先返回初步结果

7.2 前端性能优化

  • 组件懒加载:AI助手组件按需加载,不阻塞主页面渲染

  • 虚拟滚动:大量结果数据时使用虚拟滚动,避免DOM爆炸

  • Web Worker:复杂计算在Worker线程执行,不阻塞UI

7.3 监控与诊断

  • 性能指标:API响应时间、模型推理时间、查询执行时间

  • 准确率监控:用户反馈、隐式行为分析、定期人工抽检

  • 异常告警:准确率突降、响应时间飙升时自动告警


八、未来演进:从“被动回答”到“主动服务”

当前实现的嵌入式ChatBI主要处于“被动回答”阶段——用户提问,系统回答。未来的演进方向是“主动服务”:

8.1 主动式洞察推送

系统不再等待用户提问,而是在发现异常时主动推送:

  • 当客户活跃度骤降时,在CRM页面弹出预警

  • 当库存低于安全线时,在采购页面显示补货建议

  • 当销售目标可能无法达成时,在看板顶部展示预警

8.2 预测性干预

基于历史数据预测未来,在问题发生前干预:

  • 预测某客户可能流失,提前推送挽留策略

  • 预测库存将在3天后告急,自动生成采购单

  • 预测销售目标可能无法达成,推荐调整策略

8.3 多智能体协同

不同业务领域的AI代理相互协作:

  • 销售代理发现业绩下滑,请求营销代理分析渠道效果

  • 营销代理建议调整投放策略,通知财务代理评估预算

  • 财务代理确认预算可行,自动调整广告投放计划


九、结语:让数据成为业务的一部分

嵌入式ChatBI的终极价值,在于让数据分析不再是独立的“任务”,而是融入业务流的“自然行为”。当用户在CRM中就能像聊天一样查询客户数据,在审批流中就能实时获得决策支持,在IM群中就能秒级获取业务洞察——数据终于不再是被动查看的报表,而是主动参与决策的伙伴。

对于SaaS厂商而言,集成嵌入式ChatBI不仅是功能的增强,更是产品体验的代际跃升。当每一个业务节点都能实时获取数据洞察,你的产品就从“记录工具”进化为“决策伙伴”,从“功能平台”进化为“智能环境”。

衡石科技提供的技术底座,正在让这一愿景在越来越多的SaaS产品中成为现实。从看板插件到审批助手,从IM机器人到移动应用,数据分析正无声地赋能每一个业务现场。而这,正是“嵌入式BI + ChatBI”融合的终极价值。


相关资讯
热门标签
衡石科技 衡石BI BI ChatBI BI数据分析 Agentic BI BI PaaS平台 企业级BI AI+BI HENGSHI SENSE BI工具 嵌入式BI BI Agent AI 指标平台 ISV/SAAS 厂商 BI平台 BI PaaS HENGSHI SENSE 6.0 AI Copilot AI Agent ChatBI解决方案 Data Agent 指标管理 BI系统 指标中台 对话式BI 传统BI 一站式BI分析平台 Chat2Metrics HENGSHI SENSE 6.1 BI报表 deepseek BI可视化 零代码BI 嵌入式分析 可视化报表 数据中台 多租户 应用模版市场 Deep Seek 大数据模型BI AI数据 交互式BI 语义层 BI解决方案 NL2SQL BI软件 智能问数 生态伙伴 生成式BI NL2DSL 衡石ChatBot 多源异构数据 Agentic Analytics OA crm Gen AI ChatBot HQL 衡石API 自助式BI React SDK 爱分析 问答式BI SDK

丰富的资源 完整的生态

邀您成为衡石伙伴