管理客户知识管理代理

客户知识管理代理允许您自主地将案例和与案例相关的对话、电子邮件和笔记转换为可以支持您的联络中心运营的知识文章。

先决条件

  • 您正在使用开箱即用的案例或对话实体,或自定义的 Dynamics 实体来处理案例。

  • Dynamics 365 知识管理已配置。

  • 已启用 Copilot 访问 Dynamics 365 知识库。 您只能利用内部知识库资源来生成回复。 在配置知识源中了解更多信息。

  • 您已设置即用即付

  • 为 Dataverse 和 Copilot Studio 集成设置流连接:

    导航到 Copilot 服务管理中心中的“客户知识管理代理”页时,页面顶部会显示“ 先决条件 ”部分,指示是否已设置连接引用。 需要为客户知识管理代理流配置连接引用,以便与 Microsoft 服务集成。 这些连接将流链接到重要的数据源,例如 Microsoft Dataverse 和 Copilot Studio,确保操作流畅且功能增强。

    1. 在 Copilot 服务管理中心,转到 “支持体验”>“知识”
    2. 客户知识管理智能体选择管理。 此时会显示 “客户知识管理代理 ”页。
    3. “先决条件 ”部分的步骤 1:“连接引用”中,选择 “设置连接”。
    4. 在“ 配置连接 ”对话框中,选择“ 更新连接引用”以使用连接器 更新连接引用。
    5. 步骤 2:Power Automate 流中,选择启用
    6. 当所有磁贴均显示为已就绪时,在步骤 3:Copilot Studio 智能体中选择发布以完成设置。

    如果在从 “客户知识管理代理 ”页配置连接引用时遇到问题,可以手动设置。 按照 客户知识管理代理流的连接参考中提供的步骤操作。

启用客户知识管理代理

在 Copilot 服务管理中心,转到 “支持体验>知识>客户知识管理代理”,然后选择“ 管理”。 此时会显示 “客户知识管理代理 ”页。

你可以从案例、与案例、电子邮件、笔记和对话关联的对话摘要中获取知识文章。 对于案例和对话,请根据客户知识管理代理的要求从以下部分中的选项中进行选择。

启用实时知识生成

  • 对于案例,请转到“ 案例 ”选项卡,然后在 “实时创建 ”部分中,选择“ 让 Copilot 使用当前案例中的信息”以创建知识库文章 选项。

  • 对于对话,请转到“ 对话 ”选项卡,然后在 “实时创建 ”部分中,选择“ 让 Copilot 使用当前聊天和消息对话中的信息来创建知识文章 ”选项。

当客户服务代表(服务代表)解决案例或关闭对话时,将触发实时知识创建。 代理将案例或对话的内容与 Dynamics 365 知识库中的现有知识库文章进行比较。 然后,它确定是否需要新文章。 如果需要文章,客户知识管理代理人将使用案例或对话内容创建文章。

管理实时项目创建规则

创建多个规则以指定客户知识管理代理必须满足的条件,以便实时处理已解决的案例或已关闭的对话。 例如,可以将此过程限制为特定用户拥有的案例或对话,或案例或对话上的任何其他字段。

  1. 在“ 案例 ”或“ 对话 ”选项卡中的 “实时创建 ”部分中,选择“ 管理规则”。
  2. 管理规则对话中,选择新建添加新规则。
  3. 新建知识创建规则对话中,输入规则名称、条件名称,然后添加条件。
  4. 选择保存

管理用于创建知识库文章的案例属性

客户知识管理代理使用案例标题案例描述产品主题电子邮件内容对话摘要案例注释创建文章。 可以修改 电子邮件内容对话摘要以外的所有字段。 无法更改用于对话的属性。

  1. 在“ 案例 ”部分中,选择“ 管理属性”。 将显示管理数据页面。 您可以映射用于每个元素的记录类型和数据字段。 您可以选择包含和排除数据。
  2. 选择保存并关闭
  3. 客户知识管理代理设置页面上选择保存

案例属性选择同时适用于基于案例的历史数据和实时创建。

启用跟踪更改并将映射的实体添加到实体分析配置表

为了避免在从历史数据创建知识文章期间出现问题,建议为映射的实体启用 跟踪更改 并将其添加到 实体分析配置 表。

  1. 启用修订

  2. 若要将映射的实体添加到 Entity Analytics 配置 表,请执行以下步骤:

    1. 打开模型驱动应用( https://<org>.crm.dynamics.com/... )。
    2. F12 打开浏览器的 开发人员工具,然后选择 “控制台 ”选项卡。
    3. 复制以下脚本片段,更新 ENTITY_NAME,然后将其粘贴到控制台中。
    4. Enter 运行脚本。
    
    Xrm.WebApi.createRecord('entityanalyticsconfig', {'parententitylogicalname':'{ENTITY_NAME}','isenabledforadls': true})
    
    

为自定义记录类型启用实时知识获取

为 Dynamics 365 中的自定义记录类型启用实时知识提取。 添加触发按钮,并在自定义表中呈现已收集的知识库文章。

  1. Power Apps 中创建自定义表。 如果表格已存在,请确保其包含可与案例描述和解决方案对应的属性,从中可以获取相关知识。
  2. 添加要为其启用知识管理的记录类型
  3. 添加自定义记录类型(预览版)。
  4. 启用实时知识生成:
    1. 在实体记录的应用端窗格中配置知识搜索控件
    2. 确保自定义表(例如 ,Custom_Knowledge_Harvest)显示为选项卡,类似于案例或对话。
  5. 为实时文章创建配置规则,专门适用于自定义记录选项卡。
  6. 配置表中的哪些属性用于生成知识文章。
  7. 在自定义表单中添加一个触发器收集按钮
  8. 导航到自定义表(例如 ,Custom_Knowledge_Harvest)。
  9. 打开现有记录。 “触发器收获”按钮显示在命令栏上。
  10. 单击按钮以触发当前记录的知识提取。 此时会显示一个确认对话框,指示已成功触发知识收获。

添加触发器收获按钮

使用 Power Apps 命令设计器,在自定义表的主窗体上添加触发知识收集的命令按钮,以便为自定义记录启用实时知识收集。

JavaScript 通过将表和用户信息发送到 API、显示进度指示器、处理响应和控制按钮可用性(基于窗体状态)来触发知识收获。 该按钮的工作方式与“案例”和“对话”记录类型相似。

备注

以下示例是一个示例实现,用于通过按钮单击触发知识收获。 可以根据组织的要求自定义按钮行为和 JavaScript 逻辑。

  1. 登录到 Power Apps

  2. 从左侧导航窗格中选择“表”

  3. 查找并选择自定义表(例如 ,Custom_Knowledge_Harvest)。

  4. 选择 “编辑命令栏 ”,然后选择 主窗体。 在 命令栏位置了解详细信息。

    1. 在右窗格中,输入命令按钮上显示的标签,并选择命令按钮的图标。
    2. “操作”下,提供以下 JavaScript 库和命令来运行命令操作。 在 “使用 JavaScript 执行操作”中了解详细信息。
    
    /**
     * Knowledge Harvest Trigger - Command Bar Button Handler
     * This script provides functionality to trigger Knowledge Harvesting for custom entities.
     */
    var Msdyn = Msdyn || {};
    Msdyn.KnowledgeHarvest = Msdyn.KnowledgeHarvest || {};
    
    (function () {
        "use strict";
    
        Msdyn.KnowledgeHarvest.triggerHarvest = function (primaryControl) {
            var formContext = primaryControl;
            var entityId = formContext.data.entity.getId();
            if (entityId) {
                entityId = entityId.replace("{", "").replace("}", "");
            }
    
            var entityName = formContext.data.entity.getEntityName();
            var globalContext = Xrm.Utility.getGlobalContext();
            var userId = globalContext.userSettings.userId;
            if (userId) {
                userId = userId.replace("{", "").replace("}", "");
            }
    
            var payload = JSON.stringify({
                "entityname": entityName,
                "entityrecordid": entityId,
                "initiatinguserid": userId
            });
    
            Xrm.Utility.showProgressIndicator("Triggering Knowledge Harvest...");
    
            var request = {
                Payload: payload,
                getMetadata: function () {
                    return {
                        boundParameter: null,
                        operationName: "msdyn_knowledgeHarvestAgentTrigger",
                        operationType: 0,
                        parameterTypes: {
                            "Payload": {
                                typeName: "Edm.String",
                                structuralProperty: 1
                            }
                        }
                    };
                }
            };
    
            Xrm.WebApi.online.execute(request).then(
                function (response) {
                    Xrm.Utility.closeProgressIndicator();
                    if (response.ok) {
                        Xrm.Navigation.openAlertDialog({
                            title: "Knowledge Harvest Triggered",
                            text: "Knowledge Harvest has been triggered successfully.\\nA job has been created to generate a knowledge article.",
                            confirmButtonLabel: "OK"
                        });
                    } else {
                        throw new Error("API call failed with status: " + response.status);
                    }
                }
            ).catch(
                function (error) {
                    Xrm.Utility.closeProgressIndicator();
                    console.error("Knowledge Harvest Trigger Error:", error);
                    Xrm.Navigation.openAlertDialog({
                        title: "Knowledge Harvest Error",
                        text: "Failed to trigger Knowledge Harvest.\\nError: " + error.message,
                        confirmButtonLabel: "OK"
                    });
                }
            );
        };
    
        Msdyn.KnowledgeHarvest.enableHarvestButton = function (primaryControl) {
            var formContext = primaryControl;
            var entityId = formContext.data.entity.getId();
            if (!entityId || entityId === "" || entityId === "{}") {
                return false;
            }
    
            var formType = formContext.ui.getFormType();
            if (formType === 1) {
                return false;
            }
    
            return true;
        };
    })();
    
    
    1. “添加 JavaScript 库 ”对话框中,选择创建的 JavaScript 库。
    2. 将库添加到您的命令中。
    3. 对于函数名称,请输入 Msdyn.KnowledgeHarvest.triggerHarvest
    4. 选择 “+ 添加 参数”,在 “参数 1”中,从下拉列表中选择 PrimaryControl
  5. “可见性”下,根据要求保留默认设置,如 “显示 ”或配置自定义可见性规则。

  6. 将命令拖放到所需位置。

  7. 保存并发布,使命令可供应用用户使用。

启动历史知识生成

启用后,代理会考虑满足指定条件的情况和对话。 它将内容与 Dynamics 365 知识库中的现有知识库文章进行比较,以确定是否需要新文章。 然后,代理会根据事例和对话的内容创建一个新文章(如有必要)。 还可以添加客户知识管理代理可用于创建新知识文章的 自定义记录类型(预览 )。

  1. 选择 “案例”、“ 对话”或“ 自定义记录类型”(预览) 选项卡。

    1. 对于案例,在“从历史案例创建”部分中,选择“允许 copilot 使用历史案例中的信息来创建知识文章”选项。

    2. 对于对话,在“ 从历史对话创建 ”部分中,选择“ 让 copilot 使用历史聊天和消息传递对话中的信息来创建知识文章 ”选项。

    3. 对于自定义记录类型,在“ 自定义记录类型 ”部分中,选择“ 让 copilot 使用历史自定义记录类型中的信息来创建知识文章 ”选项。

  2. 选择管理规则配置收获条件。

  3. 默认规则对话中,输入规则名称、条件名称,然后添加条件来筛选历史文章。 还可以指定要用于此规则的自定义项目模板。

  4. 选择保存

  5. 客户知识管理代理设置页面上选择保存

  6. 从历史案例、对话或自定义记录类型创建部分中选择开始。 选择“开始”后,会看到文章创建正在进行中。 您可以通过选择查看创建过程日志链接来查看创建过程日志。

历史案例或对话创建是一个长时间运行的进程,一旦它启动,就无法停止。 该过程可以从最多 100,000 个个案或对话中创建文章,并继续进行直到所有个案都被处理。 我们建议分批执行历史知识创建。

添加自定义记录类型(预览版)

重要

  • 这是一个已准备好用于生产的预览特性。
  • 生产就绪预览需要满足补充使用条款

添加客户知识管理代理可用于创建新知识文章的自定义记录类型。

添加自定义记录类型:

  1. 为记录类型启用知识管理
  2. 在 Copilot 服务管理中心,转到 “支持体验>知识>客户知识管理代理”,然后选择“ 管理”。 此时会显示 “客户知识管理代理 ”页。
  3. 选择 “添加记录类型”。 此时会显示 “添加记录类型 ”页。
  4. “选择记录类型 ”下拉列表中,选择要从中创建知识的记录类型。
  5. 选择“ 保存并关闭”。

最多可以添加五种自定义记录类型。

指定用于创建历史知识的自定义文章模板

设置历史创建规则时,可以为新文章选择自定义文章模板。 默认情况下,客户知识管理代理以 问题原因解决方法 格式创建文章。 如果 配置了知识库文章模板,则可以为每个规则指定一个模板。

指定自定义文章时,客户知识管理代理使用模板部分、节说明和样式创建新文章。 对模板使用以下最佳做法:

  • 仅包含模板中的内容部分;排除元数据字段(例如,避免项目创建日期等字段)。
  • 为每个部分提供详细说明,说明预期的内容类型。
  • 清楚地指示哪些字段是必需的,哪些字段在模板中是可选的。
  • 如果需要分类,请直接在模板中包含类别选项列表。
  • 明确分隔任何符合性文本(例如,添加注释,如“不要在此行下方编辑”。
  • 对占位符和变量使用一致的格式,例如 {{ProductName}} 或 {{ErrorCode}}。
  • 在可能的情况下,在模板中包括一个结构最小的示例,以指导用户。

管理用于创建知识库文章的更多记录类型属性

客户知识管理代理使用 标题说明产品主题电子邮件内容案例说明 来创建文章。 可以修改 电子邮件内容、**事件解决和 对话摘要之外的所有字段。

  1. 在自定义记录类型部分中,选择“ 管理属性”。 将显示管理数据页面。 您可以映射用于每个元素的记录类型和数据字段。 您可以选择包含和排除数据。
  2. 选择保存并关闭
  3. 客户知识管理代理设置页面上选择保存

从案例生成知识草稿

允许代表在处理案例时或解决案例后在 Copilot Service workspace 的特定模板和语言中创建知识草稿。 如果代表未选择模板,则 Copilot 将使用默认模板生成草稿,其中包含格式文本编辑器中的标题、问题、原因和解决方法部分。

“基于案例的知识创建 ”部分中,选中以下复选框:

  • 让代理使用 Copilot 根据案例信息在案例解决期间或之后提出新知识
    • 在案例解决步骤中,将提议知识文章的选项保持为默认选中

代表们现在将能够 利用科皮洛特从案例(预览版)中生成知识草稿

配置自动文章更新(预览版)

重要

  • 这是一个已准备好用于生产的预览特性。
  • 生产就绪预览需要满足补充使用条款

客户知识管理代理可以自动对现有知识文章应用次要更新。 默认情况下,客户知识管理代理会创建文章的新次要版本。

若要启用文章的自动次要更新,请在“客户知识管理代理”页上的“自动项目更新”部分中,选择“自动更新现有文章”选项(预览版)。

设置已创建文章的默认合规性状态

可以为客户知识管理代理创建的文章及其更新版本设置默认符合性状态。 例如,若要保持合规性,请将默认状态设置为 “挂起 ”,并在发布之前让知识审阅者将文章标记为合规。

若要设置客户知识管理代理创建的项目的默认符合性状态,请在 “客户知识管理代理 ”页的 “符合性 ”部分,从可用选项中选择默认符合性状态。

无法发布具有 不符合 状态的文章。

备注

客户知识管理代理在起草文章之前从案例数据中删除个人数据。 但是,代理可能无法检测到敏感信息的所有实例。

自动发布文章

可以配置 AI 代理是否可以自动发布满足指定 符合性 状态的文章和次要更新。 您还可以选择可以查看已发布文章的目标访问群体。

若要设置客户知识管理代理创建的项目的自动发布,请在 “客户知识管理代理 ”页上的 “自动发布 ”部分选择“ 自动发布合规文章 ”选项。

  • 如果您希望文章供您的服务代表和 Copilot 在内部使用,选择内部目标受众
  • 如果您希望将这些文章发布到外部门户,选择内部和外部目标受众

设置代理审阅草稿体验

如果未将 AI 代理配置为自动发布文章,您可以配置代理审阅体验,让服务代表可以审阅和发布文章。

要启用此编辑器:

  • 启用应用内通知,让服务代表在案例被考虑发布时收到通知。
  • 确保您的服务代表具有编辑文章的权限。
  • 确保您的案例启用了时间线时间线重点

服务代表可以通过打开已解决的案例来查看他们是否有要审阅的知识文章。 在 “查看客户知识管理代理”创建的知识文章中了解详细信息。

使用客户知识管理智能体的知识见解

您可以在客户知识管理代理上获取分析报告,并收集分析数据用于您自己的自定义报告。 在使用知识洞察进行客户知识管理智能体中了解更多信息。

查看客户知识管理代理创建的知识文章

利用知识洞察提升客户知识管理代理的能力