跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

Microsoft Copilot for Microsoft 365是您工作的个人助理。它可以帮助您完成各种一般任务,如写作、总结、研究等。副驾驶有不同的技能,对应于这些不同类型的任务。例如,Copilot可以总结会议中的行动项目,建议对文件进行编辑,或在组织内追踪给定主题的资源和专家。每种技能都有自己的参数和输出,这些参数和输出是针对特定任务量身定制的。

与任何副驾驶一样,Microsoft 365的副驾驶是在某个时间点用数据训练的。为了检索和处理新的实时信息,特别是特定于您的组织和工作流程的数据,Copilot需要插件。插件为Microsoft 365的技能和实用程序扩展了Copilot,使其能够从其技能库中选择正确的技能。

但是,当你寻求帮助时,Copilot如何知道该使用哪种技能?它如何解释你的请求,并将其与现有的最佳技能相匹配?这就是微软365编排器的Copilot的工作。

本文将解释Copilot技能选择过程背后的逻辑,以及如何确保Copilot在每一个机会都使用你的插件来造福你的用户。

  • 重要事项
  • Microsoft 365的Microsoft Copilot插件处于公开预览状态,仅适用于Microsoft Teams中的Copilot聊天。
  • 默认情况下,所有Microsoft 365 Copilot许可租户都启用了该功能。管理员可以在用户和组的基础上禁用此功能,并控制如何批准使用单个插件,以及启用哪些插件。有关详细信息,请参阅:管理集成应用程序中的Copilot插件。

Copilot编排器

在最终用户的自然语言输入到Copilot的自然语言输出之间,Microsoft Copilot编排器在幕后工作,为最终用户的给定任务从正确的插件中选择并执行正确的技能。

编排层代表了基础LLM之间的接口,以及您可以根据客户的工作方式扩展、丰富和定制Copilot的多种方式。


下图说明了Copilot for Microsoft 365编排器如何在正确的时间以正确的技能选择正确的插件,即使有多个选项可供选择。


  1. Natural language input

The user submits a query to Copilot, such as "What tickets are assigned to me right now?"

  1. Preliminary checks

Copilot conducts several checks on the query, including responsible AI checks and security measures to ensure it doesn’t pose any risks. If the query fails any of these checks, Copilot will terminate the interaction.

  1. Reasoning

The Copilot orchestrator formulates a plan comprising of multiple actions that it will perform in an attempt to respond to the user's prompt.

3a. Context and Tool Selection:

The orchestrator retrieves the user's conversation context from the context store and integrates data from Microsoft Graph to refine the context. It then adjusts the initial query based on this updated context and forwards it to the LLM (large language model) to guide the next steps. The LLM may proceed to generating a response using Copilot’s built-in capabilities, or it may determine that additional data is necessary. If further information is needed, the orchestrator does a search for the plugins(tools) with the right skill for the task from the user's enabled plugins based on the plugins descriptions and their functions descriptions.

3b. Function Matching and Parameter Determination:

The orchestrator formulates a new prompt incorporating the user’s initial query, the updated context, and the selected plugins, and presents it to the LLM. The LLM evaluates the input and specifies the optimal plugin and function within that plugin to address the task. It then provides the orchestrator with the necessary function details and parameters required to gather the needed information.

3c. Tool execution:

The orchestrator uses the response from the LLM to construct an API request and send the request to the tool executor, which securely retrieves the requested information located outside of Copilot's infrastructure. It executes the request and sends the results back to the orchestrator for further processing.

3d. Result Analysis and Response Formulation:

The orchestrator integrates the API response into the ongoing context and consults the LLM in a continuous reasoning loop until the LLM deems it appropriate to generate a final response.

  1. Responding

The orchestrator compiles all the information gathered during the reasoning process and submits it to the LLM to create a final response. After ensuring the response complies with Responsible AI guidelines, it sends the response back to the orchestrator, which logs it in the context store and delivers it to the user via the Copilot UI.

  1. Natural language output

Finally, the orchestrator delivers the response to the user and updates the conversation state. Copilot is ready for its next prompt.

If you imagine a user's prompt to Copilot like a construction project, then the Copilot orchestrator is the general contractor, who coordinates and organizes the work of the specialist subcontractors, your plugins. Similar to a general contractor, the orchestrator is responsible for ensuring the project is "completed" according to specifications implied by the user's input (in other words, that Copilot's response satisfies the user's intent in their request).

However, its the responsibility of each plugin to provide Copilot with an accurate description of its skills and to execute its skills effectively. This will instill a sense of trust in your users and ensure Copilot will call your plugin each time its skills are needed. The next section provides more details on how to optimize your plugin and your OpenAPI documents for the orchestrator to find and use.

 

插件优化

Microsoft 365的Copilot可以从其众多技能中独特地选择正确的技能。但是,你如何确保Copilot会选择你的插件来提供正确的技能呢?

答案在于你如何描述你的插件、它的技能以及技能执行的参数。在插件清单中指定简洁准确的描述对于确保Copilot编排器知道何时以及如何调用插件至关重要。

您向编排器描述插件的方式取决于您构建的插件类型,如下表所示。

 
Plugin type Described by Learn more
API Plugins OpenAPI description How to make an OpenAPI document effective in extending Copilot
Copilot Studio actions Names and descriptions in Copilot Studio conversation map Orchestrate copilot topics and actions with generative AI
Message extension plugins App manifest Guidelines for message extension plugins

匹配机制

 

当用户向Copilot提交查询时,编排器会从已安装的插件中搜索其完整的技能(功能)目录,以识别最多五种与查询最匹配的技能。编排器首先尝试匹配精确的单词(词汇匹配),并根据需要扩展其搜

索范围,以包括描述性含义的匹配(语义匹配),从特定的功能名称到通用的插件描述,直到所有五个功能候选槽都被填满。具体来说,以下是Copilot插件功能选择匹配机制的层次结构:

  1. 函数名称的词汇匹配。
  2. 功能描述的语义匹配。此步骤目前处于私人预览阶段。
  3. 插件名称的词汇匹配(将所有插件函数添加到候选列表中)。
  4. 插件名称的语义匹配(将所有插件功能添加到候选列表中)。

编排器通过上述列表工作,直到所有五个功能候选插槽都被填满。

下一步

学习优化插件可发现性和有用性的最佳实践。

 
本文地址
最后修改
星期五, 九月 6, 2024 - 09:42
Article