在企业内部,推行数据分析习惯时往往伴随着一些障碍,比如数据信息不够明确、数据洞察难以获取,以及在数据底层建设阶段就会遇到的跨库查询问题等。
针对这些障碍,企业一般会采用“ChatBI工具+数据仓库”的搭建方案,用ChatBI工具将数据转化为清晰易懂的可视化图表,在大模型的辅助下强化数据洞察,然后用数据仓库来实现权限管控约束下的数据跨库查询。但数据仓库的搭建成本较高,对于正处在数据价值初步探索阶段的团队不够友好。
针对用户低成本构建企业级智能数据分析系统的需求,我们探索出一套高性价比的智能问数工具组合:即MaxKB企业级智能体平台+DataEase开源BI工具。通过MaxKB制作DataEase智能问数应用,帮助用户在数据权限管理不受影响的情况下,低成本、高效地完成跨源跨库数据关联。用户在MaxKB的对话窗口中,通过自然语言提问,即可在权限范围内获取一站式的可视化数据以及数据洞察结论,将问题理解、看板发现、查询编排、权限取数和结果呈现串联为一条可审计的链路。
一、智能数据分析方案建设的难点
企业级智能数据分析方案落地过程中经常遇到的难点包括:
■ 自然语言与模型理解之间容易出现错位,例如问题无法路由、无关业务数据被错误发送、查询退化等;
■ 跨源跨库关联成本大,数据库类型、SQL方言、字段类型和查询下推能力不同,导致开发与维护成本持续上升;
■ 需要区分不同用户的数据权限,防止越权;
■ 需要大模型辅助进行业务数据解读;
■ 接口异常可能导致出现数据安全问题。
我们尝试把DataEase的数据治理和权限管控能力,与MaxKB的集成特性、智能体构建和知识库维护能力结合起来,希望能够攻破上述难点。
二、MaxKB+DataEase智能问数联合方案
MaxKB+DataEase智能问数联合方案基于MaxKB构建智能体,通过DataEase承担数据治理能力,并且结合MaxKB的集成特性实现联动。智能体先根据用户问题从“DataEase看板语义目录”检索可回答问题的看板,再把自然语言转换为维度、指标、筛选、聚合和排序计划,最后使用当前MaxKB对话用户绑定的DataEase账号执行查询,因此用户隔离仍由DataEase专业版或企业版权限体系兜底。
▲图1 MaxKB+DataEase智能问数联合方案结果展示
三、方案架构
MaxKB+DataEase智能问数联合方案采用了五层架构,以逐级实现从前端交互到智能分析的全过程,具体包括:
■ 交互层:MaxKB对话页面,负责接收用户提问和当前用户上下文,以及渲染并输出HTML页面、ECharts图表和AI洞察;
■ 编排层:工作流节点,负责进行意图分类、知识检索、严格路由、参数抽取、确定性校验和AI分析;
■ 执行层:DataEase查询工具,负责实现身份映射、登录、切换组织、读取看板和图表,并且向DataEase提交查询请求;
■ 数据治理层:DataEase+Apache Calcite,负责封装异构数据源语法与类型差异,形成统一逻辑计划,承接跨源跨库关联、计算与查询下推任务;
■ 数据权限层:DataEase专业版或企业版权限体系,负责执行组织和资源授权、数据集行列权限校验,并且裁剪当前用户最终可见的数据。
▲图2 MaxKB+DataEase智能问数联合方案整体架构
三、工作流逻辑
MaxKB+DataEase智能问数工作流由若干公共处理节点和三条结果链路分支组成。公共节点负责识别用户意图、检索看板知识库、解析看板路由,并生成查询计划。随后,工作流根据处理结果分别进入“查询成功”、“业务数据未维护”或“查询异常”分支。查询成功时将继续完成DataEase数据查询、AI分析与可视化展示;业务数据未维护时将展示提示“当前业务数据未维护”的卡片;发生身份、权限或接口等查询异常时将展示对应的安全错误提示。
▲图3 MaxKB+DataEase智能问数联合方案工作流
1. 公共处理节点
■ 接收问题节点:用于接收用户问题与身份;
■ 意图识别节点:用于识别业务问数或知识问询;
■ 检索知识库节点:用于检索DataEase看板语义目录,一般设置引用看板语义目录知识库分段数为Top 3,混合检索模式,相似度阈值为0.15;
■ 解析路由节点:用于解析知识库命中的看板ID,提取并校验组织、看板、图表、数据集和字段;
■ 参数提取节点:用于提取业务维度、指标,以及筛选、聚合、排序、TopN、图表偏好等条件;
■ 确定性校验节点:用于校验并补全查询维度与指标,精确到字段+别名+规则,形成最终查询计划;
■ DataEase权限查询节点:调用DataEase中的用户权限,返回用户权限范围内结果;
■ 状态分流节点:检查 DataEase查询结果中的“OK”状态。查询成功时,则进入AI数据分析节点。
2. “查询成功”支链
在“查询成功”支链中,工作流将会正确执行从DataEase取数到AI智能分析,然后统一渲染,输出数据摘要、表格、ECharts图表和AI洞察卡片的全过程。此支链包含以下节点:
■ AI数据分析节点:让AI基于本次返回数据,生成五段式分析内容,包括数据分析、深入洞察,并提出经营建议;
■ 合并呈现节点:用上一个节点中的分析内容生成数据卡片、ECharts图表与AI洞察,最终返回智能问数结果。
3. “业务数据未维护”支链
如果工作流对用户的输入内容执行严格路由失败,则进入“业务数据未维护”支链,最终不调用DataEase,而是返回黄色的“当前业务数据暂未维护”卡片。此支链包含以下节点:
■ 业务数据未维护判断节点:未找到有效看板映射,则判断为“业务数据未维护”;
■ 业务数据未维护卡片节点:展示提示“当前业务数据未维护”的卡片,最终直接结束查询。
4. “查询异常”支链
如果用户的身份/权限/接口校验结果为“失败”,则进入“查询异常”支链,最终不展示半成品数据,而是向用户返回稳定错误码、简要原因和恢复建议。此支链包含以下节点:
■ 查询异常判断节点:如果身份、权限或接口异常,则判断为“查询异常”;
■ 查询异常卡片节点:返回错误原因与恢复建议,最终直接结束查询。
四、方案优势与特点
相较于其他的智能数据分析方案,MaxKB+DataEase智能问数联合方案拥有如下优势与特点,可以在满足大部分企业智能数据分析需求的前提下,低成本实现数据的跨库查询,并且能够有效保障业务数据的安全性。
■ 看板知识库维护与精准匹配的路由机制
DataEase中的看板ID、可用字段、业务主题和真实路由等信息,均维护在MaxKB的“DataEase看板语义目录”知识库中。当用户对MaxKB提出业务数据问题,这个问题必须精准命中“DataEase看板语义目录”知识库中存在的真实字段名、业务域或明确业务指标别名,才能与知识库内的候选文档匹配。如果业务数据问题未能匹配到任一候选文档,MaxKB则会向用户对话返回“当前业务数据暂未维护”的提示,且不再进行后续的身份校验、DataEase调用、图表生成和AI数据分析等步骤。
■ 从自然语言到查询计划
路由解析后,参数模型只会在命中看板的候选字段中提取参数。如果出现模型返回null、空数组或遗漏字段的情况,后置节点会再次读取原问题并执行确定性补全。其中,模型负责理解组合条件和开放表达,确定性规则负责守住字段合法性和常见问法,两者组合比单独依赖任意一方更为稳定。
■ 用户隔离与权限模型
权限隔离的关键是“查询身份跟随对话用户”。MaxKB不以统一管理员身份替所有用户取数,而是通过用户的MaxKB ID信息(chat_user_id),找到身份一对一映射的DataEase账号,DataEase会根据该账号的组织、看板、数据集、行权限和列权限返回提问的数据结果。同样的,AI只会分析当前用户此次查询返回的行、分组和指标,不能看到公司全量数据,也不能把当前权限范围的局部结果表述为全局事实。如果身份、权限或接口异常,则返回稳定错误码、简要原因和恢复建议。
安全提示:身份映射中包含DataEase登录凭据。本方案当前已避免在手册、输出卡片、AI分析和错误信息中展示密码及内部路由ID。在实际生产环境中,建议进一步迁移至密钥管理或环境级Secret,并且限制MaxKB工具的配置权限。
■ 数据实时查询与计算
通过路由与身份权限验证后,联合方案工作流会先在DataEase中获取数据图表结果,再在MaxKB中进行本地筛选与聚合。当数据增长到几十万行以上时,建议让DataEase或底层数据库直接完成分组、汇总和TopN计算,MaxKB只接收最终结果,以避免数据截断、响应缓慢和内存占用过高。
■ DataEase跨库查询
在需要跨库查询的场景下,MaxKB不需要直接连接多个业务数据库后自行拼接,只需将自然语言问题转换为受约束的业务数据查询计划,和当前用户身份以及知识路由一起发送给DataEase。DataEase会在数据治理层通过Apache Calcite对异构数据源进行统一语法、类型和关系模型封装,再结合权限规则完成跨源跨库执行,最终将当前用户可见的查询结果返回给MaxKB。
注意:目前,本方案的实际测试版本仍以读取既有DataEase图表结果、再由MaxKB工具执行本地筛选与聚合为主。这里描述的是智能体规模化后所依赖的DataEase底层跨库能力。真正的跨源Join应落在DataEase数据集或服务端查询执行链路中,不能由MaxKB下载多个源库的全量数据后进行合并。
■ 对话界面与输出效果
成功问数时,MaxKB会在交互界面输出包括HTML数据卡片、ECharts图表和AI数据洞察在内的问数结果。工作流设置要求AI节点不得改写原始数值,也不得输出MaxKB用户名、DataEase账号、账号所属组织、原始看板、原始图表、数据集ID或路由追踪信息等敏感数据,充分保障用户的数据安全。