在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),用户访问衡石对话组件时,自动携带认证令牌。
配置步骤:
在衡石管理后台添加SSO应用,获取回调地址等信息。
在你的产品中生成登录令牌(JWT),并将用户信息(用户ID、租户ID、角色)编码进令牌。
在前端嵌入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 (
销售看板
console.log('查询结果', data)} />
);}ChatBubble组件会在页面右下角显示一个可展开的对话气泡,用户点击后即可开始对话。你也可以使用ChatFull组件嵌入一个完整的对话面板。
3.2 使用Web Component(通用方案)
如果你的技术栈不是React/Vue,或者需要跨框架复用,可以使用Web Component方式:
html
3.3 组件定制:品牌融合
为了让对话组件看起来像“长”在你的产品里,衡石提供了丰富的定制选项:
四、实战第三步:对话上下文感知
嵌入组件只是第一步,真正的智能化体验来自于上下文感知——让AI代理理解用户当前在做什么,从而提供更精准的回答。
4.1 传递页面上下文
当用户在特定页面发起对话时,你可以通过组件属性传递当前页面的上下文信息。例如,在客户详情页:
jsx
衡石ChatBI会自动将这些信息融入对话理解。当用户问“这个客户的回款情况怎么样”时,AI代理知道“这个客户”指的是customerId=12345,无需用户重复。
4.2 跨页面会话保持
用户可能在不同页面间切换,但希望对话能连续。衡石前端组件会自动维护会话ID,只要页面不刷新,对话历史会持续保留。如果希望跨页面刷新保持会话,可以将会话ID存储在localStorage或URL参数中,并在初始化时传入。
五、实战第四步:处理复杂对话与多轮交互
当用户进行多轮对话时,比如:
这里的关键是第二句中的“华东地区呢”需要关联到第一句的“上月”和“销售额”。衡石ChatBI的对话管理服务会自动维护这种上下文依赖,无需前端额外处理。
但作为集成方,你可能需要干预对话的边界。例如,当用户跳转到完全不同的业务模块后,希望开启全新的对话,可以调用组件提供的resetConversation()方法清空上下文。
六、实战第五步:处理查询结果的呈现
自然语言查询的结果可能是表格、图表,也可能是简单的数值。衡石ChatBI组件会根据结果类型自动选择合适的呈现方式:
单值(如“总销售额”):以大号数字展示
多行多列:以表格展示,支持排序和滚动
时间趋势:自动渲染为折线图
分类对比:自动渲染为柱状图
地理信息:自动渲染为地图
如果你希望自定义结果展示,可以监听onResult事件,获取原始数据后用自己的组件渲染。例如,你希望将销售趋势直接嵌入到页面的主图表中:
jsx
{ if (data.type === 'time-series') { updateMainChart(data.chartData); } }}/>
这种模式让对话成为触发页面更新的“遥控器”,实现更深度的融合。
七、关键挑战与解决方案
挑战1:自然语言查询的准确性
业务术语往往有歧义,比如“客户”可能指“成交客户”或“潜在客户”。衡石提供了业务术语注入机制:你可以在管理后台定义同义词、排除词、强制映射。例如,规定“客户”默认指“成交客户”。还可以上传行业术语表,微调意图模型。
挑战2:性能与并发
ChatBI背后调用大语言模型,响应时间通常在1-3秒。对于高频场景,衡石支持缓存常见问题,当用户问同样问题时直接返回缓存结果,实现毫秒级响应。同时,你可以设置并发查询上限,避免突发流量拖垮服务。
挑战3:错误处理与用户引导
当AI无法理解用户问题或查询失败时,需要友好的引导。衡石组件内置了错误提示和“你可能想问”的推荐问题列表。你也可以自定义这些推荐问题,引导用户使用正确的业务术语。
挑战4:合规与数据安全
对话内容可能包含敏感业务信息。衡石支持对话记录加密存储,并提供API供你定期导出或删除。你可以设置不记录某些用户的对话,或者完全禁用记录功能。
八、案例场景:在CRM中集成ChatBI
让我们通过一个简化的CRM集成案例,串联整个流程:
场景:某CRM SaaS厂商希望让销售代表能在客户详情页、销售漏斗页、甚至移动端App中随时用自然语言查询数据。
实现方案:
认证集成:配置OAuth2,用户登录CRM后自动获得衡石访问令牌。
前端嵌入:
在客户详情页嵌入ChatBubble组件,传递当前客户ID和页面类型。
在销售漏斗页嵌入ChatFull组件,方便销售经理进行复杂分析。
在移动端使用Web Component方式,适配小屏幕。
术语注入:
定义“商机” = “销售机会”
定义“成交率” = “赢单数/商机总数”
上传销售团队常用术语表。
结果定制:
当用户问“我负责的客户本月新增商机”时,组件返回表格,并自动添加“查看详情”按钮,点击跳转到商机列表页。
当用户问“近半年销售趋势”时,组件返回折线图,并触发页面主图表同步更新。
上线效果:
销售代表查询数据的时间从平均5分钟缩短到30秒。
一线销售开始自主探索数据,不再依赖数据分析团队。
产品NPS因数据分析体验提升而上涨15%。
九、总结:从“嵌入”到“融入”
集成衡石ChatBI,表面上是给产品加了一个“聊天框”,但本质上是将数据分析从“功能模块”升级为“交互方式”。用户不再需要学习报表工具,只需要用最自然的语言提问,数据就能主动呈现。
对于SaaS厂商,ChatBI的集成不是终点,而是起点。随着用户使用习惯的养成,你可以逐步扩展:
最终,让数据像空气一样,在你产品的每个角落自然流动。这,才是ChatBI融入SaaS产品的终极价值。
下一步行动:立即联系衡石技术团队获取ChatBI的API文档和示例代码,开启你的对话式分析集成之旅。