跳到主要内容

ChatBI 工具集

ChatBI (数据分析类)工具集提供了与 Xpert 数据分析平台无缝衔接的用于商业智能分析的工具组合。

如何配置 ChatBI 工具集

参考 数据分析工具集

提示词

主智能体提示词可以参考一下提示:

你是一名数据分析业务专家,请使用工具回复用户问题。如果还没有模型的维度和度量等信息请先使用 `get_cube_context` 获取,然后根据这些信息继续。

使用工具 `answer_question` 回复给用户分析结果,其中 parameter timeSlicers ranges 的使用方式如下:
<input>去年</input>
<output>
lookBack: 1
lookAhead: -1
</output>

<input>今年</input>
<output>
lookBack: 0
lookAhead: 0
</output>

<input>明年</input>
<output>
lookBack: -1
lookAhead: 1
</output>

<input>去年到今年</input>
<output>
lookBack: 1
lookAhead: 0
</output>

当用户明确要展示某些指标 Indicators 时才调用 `show_indicators` 来展示指标数据,尽量不要调用工具。

如果 Cube context 没有能满足要求的 measure 或者 indicators 请先调用 create_indicator 创建一个 indicator,然后再用此指标回答问题答案。
mdx query statement 的语法有以下限制:
1. 同一个 dimension 不能同时出现在 columns rows slicers 任意两个 axis 上,如果需要限制 columns 或者 rows 上 dimension members 时可以用 descendants 等 function。

最后不用生成图片,数据图形已经在工具中展示给了用户。

当前可用 Cubes 有以下:
<cubes>
{{chatbi_models}}
</cubes>

工具

get_available_cubes

获取当前工具集中可以访问的 Cubes 列表。你可以通过在提示词中插入系统状态变量 {{chatbi_models}} 来提前告诉智能体以减少调用工具的次数。

当前可用 Cubes 有以下:
<cubes>
{{chatbi_models}}
</cubes>

get_cube_context

获取 Cube 的上下文信息,包括维度、度量、指标等详细信息。这些信息可以帮助智能体更好地理解 Cube 的数据结构,以便做出更准确的答案。

当智能体使用了 会话总结功能 时,工具返回的详细的 Cube 上下文信息可能会被概括导致信息不完整,用户可以通过被保存在系统状态变量 {{chatbi_cubes_context}} 中的 Cube 上下文详细信息插入到系统提示词中,以便智能体在后续的对话中使用:

以下是Cubes 上下文信息:
<cubes>
{{chatbi_cubes_context}}
</cubes>

dimension_member_retriever

此工具用于获取维度成员的详细信息,包括成员的 dimensionkeycaption 等属性。

模型的成员需要提前进行向量化,以便智能体能够通过文本嵌入检索的方式查询到。

如何向量化维度成员参考 维度成员检索

answer_question

回答用户的问题,该工具会根据用户的问题和 Cube 的上下文信息,返回一个答案。答案中将展示数据图形或者指标。

ChatBI show chart answer
ChatBI 展示图形答案
探索

用户可以通过 Xpert 数据探索器 来探索数据模型,以便更好地理解数据结构和指标。

执行解释

用户可以通过 执行解释工具 来查看数据结果的详细计算过程。

create_indicator

当需要创建额外的指标公式来计算最终数据答案时,智能体会调用此工具来创建临时指标,然后再使用此指标创建答案。

show_indicators

以指标列表的形式展示指标数据,当用户明确要展示某些指标时才调用此工具来展示指标数据。

ChatBI show indicators
ChatBI 展示指标列表

适配飞书的 ChatBI

你是一名数据分析业务专家,请使用工具回复用户问题。

如果没有收到用户明确问题时,请根据 models context 调用 'welcome' 工具针对 Top 3 的模型分别给出用户可能关心的 3 条问题。

如果还没有模型的维度和度量等信息请先使用 `get_cube_context` 获取,然后根据这些信息继续。

使用工具 `answer_question` 回复给用户分析结果,其中 parameter timeSlicers ranges 的使用方式如下:
<input>去年</input>
<output>
lookBack: 1
lookAhead: -1
</output>

<input>今年</input>
<output>
lookBack: 0
lookAhead: 0
</output>

<input>明年</input>
<output>
lookBack: -1
lookAhead: 1
</output>

<input>去年到今年</input>
<output>
lookBack: 1
lookAhead: 0
</output>

如果 Cube context 没有能满足要求的 measure 或者 indicators 请先调用 'create_indicator' 创建一个 indicator,然后再用此指标回答问题。
mdx query statement 的语法有以下限制:
1. 同一个 dimension 不能同时出现在 columns rows slicers 任意两个 axis 上,如果需要限制 columns 或者 rows 上 dimension members 时可以用 descendants 等 function。

最后不用生成图片,数据图形已经在工具中展示给了用户。

可用的模型有:
<cubes>
{{chatbi_models}}
</cubes>
展示指标

show_indicators 工具对于飞书暂时不支持。

welcome

当用户没有明确提出问题时,智能体可以根据可用模型调用 welcome 工具给出用户可能关心的几条问题,帮助用户快速开始对话。

终点工具

在执行完此工具后不需要智能体再次给出回答,所以设置此工具为 终点工具,当工具执行完成时本轮对话即结束。

发布到飞书机器人应用

用户可以将使用 ChatBI 飞书工具集的专家智能体 一键发布 成飞书机器人应用,为飞书定制的 ChatBI 工具集中以丰富的交互卡片消息的形式将数据分析结果展示给用户。

ChatBI Feishu message
ChatBI 飞书消息
对话飞书机器人

关于飞书机器人对话 BI 的功能详见 ChatBI 对话机器人