← 返回 技术博客

技术文章

ChatBI实战:在SaaS产品中集成衡石对话式分析,让用户像聊天一样用数据

在SaaS产品的演进道路上,数据分析能力早已从“加分项”变为“必选项”。但传统的报表嵌入方式始终存在一道鸿沟:用户需要学会“用工具”,而不是直接“问问题”。即使是最友好的拖拽界面,也要求用户理解数据模型、维度和度量的区别,这对一线业务人员来说仍然是门槛。

2026/02/27技术博客HENGSHI5 分钟阅读
衡石科技ISV/SAAS 厂商ChatBI对话式BIChatBI解决方案
ChatBI实战:在SaaS产品中集成衡石对话式分析,让用户像聊天一样用数据

Article body

正文

在SaaS产品的演进道路上,数据分析能力早已从“加分项”变为“必选项”。但传统的报表嵌入方式始终存在一道鸿沟:用户需要学会“用工具”,而不是直接“问问题”。即使是最友好的拖拽界面,也要求用户理解数据模型、维度和度量的区别,这对一线业务人员来说仍然是门槛。

衡石科技的ChatBI正是为了填平这道鸿沟——它将自然语言交互与数据分析深度融合,让用户像聊天一样用数据。而更大的价值在于,这套对话式分析能力可以无缝嵌入你的SaaS产品,成为产品体验的一部分。

本文将深入实战层面,为SaaS厂商的技术团队详细拆解:如何在自己的产品中集成衡石ChatBI,让用户从“学报表”到“直接问”,实现数据分析体验的代际跃升。


一、集成前的准备:理解ChatBI的开放能力

在动手集成之前,我们需要先了解衡石ChatBI为SaaS厂商准备了哪些“积木”。

衡石ChatBI的开放能力可以分为三个层次:

层次能力描述交付形式
UI组件层可直接嵌入的对话界面,包括输入框、结果卡片、多轮对话历史React/Vue组件、Web Component
API服务层自然语言转查询、执行查询、返回结果的纯后端接口RESTful API、WebSocket
定制化层对话上下文管理、意图模型微调、业务术语注入配置工具、训练平台

对于大多数SaaS厂商,最快捷的方式是使用衡石提供的前端组件快速嵌入,再通过API进行深度定制。如果你的产品有特殊交互需求,也可以只调用后端API,自行实现前端对话界面。


二、实战第一步:用户认证与租户打通

嵌入式集成的第一关是身份认证。你的用户登录SaaS后,如何让衡石ChatBI知道“他是谁、属于哪个租户、有什么权限”?

2.1 单点登录(SSO)集成

衡石支持标准的OAuth2、OIDC、SAML协议。你可以配置将自己的产品作为身份提供商(IdP),用户访问衡石对话组件时,自动携带认证令牌。

配置步骤:

  1. 在衡石管理后台添加SSO应用,获取回调地址等信息。

  2. 在你的产品中生成登录令牌(JWT),并将用户信息(用户ID、租户ID、角色)编码进令牌。

  3. 在前端嵌入ChatBI组件时,传递该令牌。

2.2 租户隔离的自动路由

对于SaaS厂商,最关键的是多租户数据隔离。衡石ChatBI会自动解析令牌中的租户ID,并将所有对话发起的查询限制在该租户的数据权限内。这意味着你无需为每个租户单独部署一套环境,所有租户共享一套ChatBI服务,但数据天然隔离。

2.3 权限的精细化传递

除了租户级隔离,还有用户级权限(如某些用户只能看销售数据,不能看财务数据)。衡石支持将用户角色信息传递给语义层,在查询生成时自动添加行级权限过滤。这要求你在衡石的数据模型中已经配置好权限规则。


三、实战第二步:嵌入对话组件

认证打通后,就可以在前端页面中嵌入ChatBI组件了。衡石提供了两种嵌入方式:

3.1 使用React/Vue组件(推荐)

如果你的产品使用React或Vue构建,可以直接安装衡石的npm包:

bash

npm install @hengshi/chatbi-react

然后在需要的页面引入组件:

jsx

import { ChatBubble } from '@hengshi/chatbi-react';function SalesDashboard() { return ( <div> <h1>销售看板</h1> <ChatBubble apiKey="your-api-key" userToken="jwt-token" position="bottom-right" placeholder="问我任何关于销售数据的问题..." onResult={(data) => console.log('查询结果', data)} /> </div> );}

ChatBubble组件会在页面右下角显示一个可展开的对话气泡,用户点击后即可开始对话。你也可以使用ChatFull组件嵌入一个完整的对话面板。

3.2 使用Web Component(通用方案)

如果你的技术栈不是React/Vue,或者需要跨框架复用,可以使用Web Component方式:

html

<script src="https://cdn.hengshi.com/chatbi-web-component.js"></script><hengshi-chat api-key="your-api-key" user-token="jwt-token" position="bottom-right" placeholder="问我任何问题..."></hengshi-chat>

3.3 组件定制:品牌融合

为了让对话组件看起来像“长”在你的产品里,衡石提供了丰富的定制选项:

  • 主题定制:通过theme属性传入颜色变量,匹配你的品牌色

  • 文案定制:修改提示语、按钮文字、错误提示

  • 图标定制:替换默认的聊天图标、发送按钮等


四、实战第三步:对话上下文感知

嵌入组件只是第一步,真正的智能化体验来自于上下文感知——让AI代理理解用户当前在做什么,从而提供更精准的回答。

4.1 传递页面上下文

当用户在特定页面发起对话时,你可以通过组件属性传递当前页面的上下文信息。例如,在客户详情页:

jsx

<ChatBubble {...其他属性} context={{ page: 'customer-detail', customerId: '12345', customerName: 'XX科技', timeRange: 'last30days' }}/>

衡石ChatBI会自动将这些信息融入对话理解。当用户问“这个客户的回款情况怎么样”时,AI代理知道“这个客户”指的是customerId=12345,无需用户重复。

4.2 跨页面会话保持

用户可能在不同页面间切换,但希望对话能连续。衡石前端组件会自动维护会话ID,只要页面不刷新,对话历史会持续保留。如果希望跨页面刷新保持会话,可以将会话ID存储在localStorage或URL参数中,并在初始化时传入。


五、实战第四步:处理复杂对话与多轮交互

当用户进行多轮对话时,比如:

  • 用户:“上月销售额多少?”

  • AI:“上月销售额为1280万元。”

  • 用户:“华东地区呢?”

  • AI:“华东地区上月销售额为320万元,占总销售额的25%。”

这里的关键是第二句中的“华东地区呢”需要关联到第一句的“上月”和“销售额”。衡石ChatBI的对话管理服务会自动维护这种上下文依赖,无需前端额外处理。

但作为集成方,你可能需要干预对话的边界。例如,当用户跳转到完全不同的业务模块后,希望开启全新的对话,可以调用组件提供的resetConversation()方法清空上下文。


六、实战第五步:处理查询结果的呈现

自然语言查询的结果可能是表格、图表,也可能是简单的数值。衡石ChatBI组件会根据结果类型自动选择合适的呈现方式:

  • 单值(如“总销售额”):以大号数字展示

  • 多行多列:以表格展示,支持排序和滚动

  • 时间趋势:自动渲染为折线图

  • 分类对比:自动渲染为柱状图

  • 地理信息:自动渲染为地图

如果你希望自定义结果展示,可以监听onResult事件,获取原始数据后用自己的组件渲染。例如,你希望将销售趋势直接嵌入到页面的主图表中:

jsx

<ChatBubble onResult={(data) => { if (data.type === 'time-series') { updateMainChart(data.chartData); } }}/>

这种模式让对话成为触发页面更新的“遥控器”,实现更深度的融合。


七、关键挑战与解决方案

挑战1:自然语言查询的准确性

业务术语往往有歧义,比如“客户”可能指“成交客户”或“潜在客户”。衡石提供了业务术语注入机制:你可以在管理后台定义同义词、排除词、强制映射。例如,规定“客户”默认指“成交客户”。还可以上传行业术语表,微调意图模型。

挑战2:性能与并发

ChatBI背后调用大语言模型,响应时间通常在1-3秒。对于高频场景,衡石支持缓存常见问题,当用户问同样问题时直接返回缓存结果,实现毫秒级响应。同时,你可以设置并发查询上限,避免突发流量拖垮服务。

挑战3:错误处理与用户引导

当AI无法理解用户问题或查询失败时,需要友好的引导。衡石组件内置了错误提示和“你可能想问”的推荐问题列表。你也可以自定义这些推荐问题,引导用户使用正确的业务术语。

挑战4:合规与数据安全

对话内容可能包含敏感业务信息。衡石支持对话记录加密存储,并提供API供你定期导出或删除。你可以设置不记录某些用户的对话,或者完全禁用记录功能。


八、案例场景:在CRM中集成ChatBI

让我们通过一个简化的CRM集成案例,串联整个流程:

场景:某CRM SaaS厂商希望让销售代表能在客户详情页、销售漏斗页、甚至移动端App中随时用自然语言查询数据。

实现方案:

  1. 认证集成:配置OAuth2,用户登录CRM后自动获得衡石访问令牌。

  2. 前端嵌入:

    1. 在客户详情页嵌入ChatBubble组件,传递当前客户ID和页面类型。

    2. 在销售漏斗页嵌入ChatFull组件,方便销售经理进行复杂分析。

    3. 在移动端使用Web Component方式,适配小屏幕。

  3. 术语注入:

    1. 定义“商机” = “销售机会”

    2. 定义“成交率” = “赢单数/商机总数”

    3. 上传销售团队常用术语表。

  4. 结果定制:

    1. 当用户问“我负责的客户本月新增商机”时,组件返回表格,并自动添加“查看详情”按钮,点击跳转到商机列表页。

    2. 当用户问“近半年销售趋势”时,组件返回折线图,并触发页面主图表同步更新。

上线效果:

  • 销售代表查询数据的时间从平均5分钟缩短到30秒。

  • 一线销售开始自主探索数据,不再依赖数据分析团队。

  • 产品NPS因数据分析体验提升而上涨15%。


九、总结:从“嵌入”到“融入”

集成衡石ChatBI,表面上是给产品加了一个“聊天框”,但本质上是将数据分析从“功能模块”升级为“交互方式”。用户不再需要学习报表工具,只需要用最自然的语言提问,数据就能主动呈现。

对于SaaS厂商,ChatBI的集成不是终点,而是起点。随着用户使用习惯的养成,你可以逐步扩展:

  • 将对话能力嵌入到更多页面,甚至嵌入到输入框(如用户在写周报时,@AI 自动填充数据)

  • 结合Agentic BI的主动洞察能力,让AI代理在关键时刻主动推送数据

  • 收集用户常问问题,反向优化产品设计和数据模型

最终,让数据像空气一样,在你产品的每个角落自然流动。这,才是ChatBI融入SaaS产品的终极价值。

下一步行动:立即联系衡石技术团队获取ChatBI的API文档和示例代码,开启你的对话式分析集成之旅。


HENGSHI SENSE

丰富的资源 完整的生态

邀您成为衡石伙伴

立即加入

企业级部署、产品集成与试用咨询均可快速响应