目前,对 ChatGPT 等工具或其他语言模型处理数学和数据查询的水平有不同的看法。 在本文中,我们将在处理数学和数据查询的 Copilot Studio 中生成代理时确定策略并设置预期。
本文中数学和数据查询的定义
本文的目标不是评估生成式 AI 是否可以帮助计算矩形的周长或圆的直径。 数学,在这里指的是某人会向智能体提出的典型自然语言问题。 这些问题假定人工智能可以汇总和解释用于建立模型的知识源或数据表中的总和、平均值和趋势。
在这种情况下,所需的结果不是回答数学公式。 而是帮助用户更有效地评估或理解数据。 当用户需要进行深度数据分析时,例如需要高级预测性或规范性分析,定制智能体通常不是首选工具。 不过,Microsoft stack 中有多个代理更直接地专注于分析。 例如,以下智能体使用 Microsoft 应用程序代码来补充语言模型,以实现此目的:
- 在模型驱动应用中为应用用户添加 Copilot
- 在视图中使用 Power BI 服务可视化数据
- Microsoft 365 Copilot 中的销售
- 使用 Copilot 为 Power BI 创建叙述性视觉对象
- 在 Excel 中使用 Copilot 获取数值数据分析见解
自然语言理解中的数据聚合
当我们为智能体奠定基础于我们自己的知识源中时,我们在简化用户通过自然语言查询信息的过程。 请记住,语言模型用于预测序列中的下一个字词,而不是执行严格的数学运算。 但它们仍然可以提供有用的见解和解释。 与浏览关键词搜索结果或手动滚动浏览表格中的所有记录相比,这些洞察力能更快地发现信息。
Copilot Studio 代理可以代表我们扫描知识源。 这些智能体汇总跨越主题、工具和知识来源的答案,无论它们是否涉及数值数据的聚合。 但是,当我们使用我们的数据构建模型时,我们必须将 AI 响应所需的数据置于上下文中。 根据这种理解,我们知道何时应提供更多上下文或主题节点。 当在数据源中找到利基术语或高度技术性措辞时,这种额外理解将有所帮助。 下面是涉及数学表达式的数据查询的示例:
| 示例问题 | 注意事项 |
|---|---|
| 北美有多少客户购买了产品 X? | 此提示涉及关系数据库中的多个结构化表,通常会检查数百甚至数千个记录。 |
| 飓风后维修工作项目的总成本会受到什么影响? | 这个提示涉及一个已修项目表,每个工作项目都有一列表示成本影响。 如果表中的修复比与飓风相关的工作项更多,那么 AI 需要一个类别或原因列来了解哪些与飓风相关。 |
| 我们的哪些客户提交的更改请求最多? | 此提示涉及具有更改请求的表,以及具有客户名称的相关表。 但是,这首先计算客户的请求数,然后返回请求数最多的客户(而不是成本影响美元值最高)。 |
提示清晰度和结构
语言模型在很大程度上依赖于问题描述的清晰度。 一个清楚地解释数学问题、定义变量以及将任务分解为多个步骤的结构良好的提示,有助于生成更准确的响应。 例如,要求直接回答一个简单的算术问题可能很有效,但没有明确上下文的模糊或多层次的问题可能会混淆模型。
下面是基于结构化知识源(如 Dataverse 表)的一些示例提示。 该示例展示了如何添加 Power Apps Dataverse 表,如下图所示。
Dataverse表被加入为知识来源,并提供了准确的知识描述。
同义词和词汇表定义帮助人工智能解释数据。
特定提示
这些提示特定并限定于所请求的信息。
- “能否提供有关更改订单引用 PCO-1003 的完整详细信息,包括帐户名称、请求的金额和请求原因?”
- “2024 年 8 月提交更改请求的客户有多少?”
- “目前请求的更改订单总数是多少?”
- “哪个客户在 2024 年提交了最高成本影响?”
通用提示
这些提示是通用的,不太可能一致地聚合所有结果,可能只返回前三个结果。
- “请按账户各自的收入顺序列出我们的账户。”
- “请列出今年八月提交的变更请求,并包括变更金额和状态。”
- “是否可以列出迄今为止提交的所有更改订单请求?”
注释
启用或禁用人工智能使用自身常识的能力会影响返回答案的准确性或适当性。
提示和技巧
以下是使用 Copilot Studio 时提出的一些建议,可帮助你设置依赖于数学表达式的生成答案的预期。
计划突出显示热门趋势的场景,而不是期望对数千个记录进行计算。 提高对总结而不是逐项列出的这种对话式方法的认识。
支持结构化知识源(表格而非非表格)以优化数学表达式。
支持特定场景,了解差异的依赖项。 例如,注意这两个问题之间的差异:
我们的哪些客户提交的更改请求最多? 统计请求ID,返回请求最多的客户,忽略其他列。
在变更请求中,哪些客户对成本的影响最大? 按客户对成本影响列求和,并返回提交最高美元总金额的客户。 仅当它找到一个基于数字或货币的相应列时,才会返回此信息。
务必标识和定义用于计算的任何数值列。 确保它们在知识源级别以及在任何 Copilot Studio 变量中使用时,都以适当的数据类型格式化。 如果可能,包括清晰的说明,在表、列或工具说明中包含相关列的常见同义词。
提示
通过自然语言理解,如果表标题在命名协议中过于技术性,AI 可能无法回答在对话流中提出的以人为中心的问题。 使用用户典型的措辞添加描述符。
请注意,用户只能获得他们有权查看的数据的答案。 例如,Dataverse 中的 Sales 表可能只向特定业务组公开某些记录,并非所有组。 确保你的经纪人不会对数据的总结设定错误的期望。 例如,2024 年总销售额请求仅对负责或共享的记录求和。
始终设置使用者对 AI 驱动答案的期望。 借助于智能体对话开始或主题触发器后的第一条信息,适当说明一个或多个相关知识源的目的和限制。
使用提示作为工具
Prompts使你能够将生成 AI 功能从Power Apps添加到 Copilot Studio 中的代理和解决方案。 此功能允许您执行分类、摘要、草稿内容生成、数据转换等多种任务。 借助提示,还可以定制生成式 AI 响应,来使用表中的特定筛选器和聚合。