51CTO Blog地址:https://blog.51cto.com/u_13969817

作为开发人员,你可以扩展、扩充和自定义 Microsoft Copilot for Microsoft 365 ,以采用客户的独特工作方式。

用于 Microsoft 365 的 Copilot 本身是一种功能强大的生产力工具,可让用户在 Microsoft 365 应用程序中工作。 它为用户提供一 般技能 ,例如理解、总结、预测、回忆、翻译和生成内容。 它通过索引Microsoft Graph 中的内容(例如用户有权访问的电子邮件、聊天和文档)从 组织知识的基线 中得出。

Microsoft 365 开发:如何将应用转换为Plugin来扩展 Copilot 的技能_Plugin

但是,业务工作流通常不会专门在 Microsoft 365 应用程序和数据格式上运行。 借助 Copilot 可扩展性,可以使用特定于企业和用户的自定义技能和组织知识来增强适用于 Microsoft 365 的 Copilot,以实现真正出色的 AI 方案。 你可以通过将应用转换为Plugin来扩展 Copilot 的技能,从而在日常任务和工作流中提高用户工作效率。 可以通过使用 Microsoft Graph 连接器引入企业数据和内容来丰富 Copilot 可访问的组织知识。

Microsoft 365 开发:如何将应用转换为Plugin来扩展 Copilot 的技能_Copilot for M365_02

APIPlugin使Copilot for Microsoft 365能够与OpenAPI规范描述的REST API进行交互。使用APIPlugin,Copilot用户可以要求Copilot不仅查询REST API以获取信息,还可以创建、更新和删除数据和对象。REST API可以做的任何事情都可以通过自然语言提示进行访问。

Plugin使Microsoft Copilot能够使用web服务并获取实时信息。Copilot利用这些信息来扩展其技能。使用Plugin,用户可以将业务线(LOB)系统中的实时数据带到Copilot。

Microsoft 365 开发:如何将应用转换为Plugin来扩展 Copilot 的技能_Open AI_03

Plugin由web服务、其OpenAPI描述和清单文件组成。Plugin清单通知CopilotPlugin的功能。Plugin清单包括web服务的OpenAPI描述。OpenAPI描述很重要,因为它向Copilot描述了如何连接到web服务。为了获得Copilot的最佳Plugin性能,

在这里,我们假设您有一个web服务和该web服务的OpenAPI描述。

OpenAPI验证:第一步是验证OpenAPI描述是否符合OpenAPI规范的规则。一个有效的OpenAPI描述不仅可以很好地与Copilot配合使用,还可以确保您的OpenAPI说明可以与其他工具配合使用。

信息部分:描述字段在OpenAPI规范中是可选的,但对于旨在扩展Copilot技能的OpenAPI描述来说,它是必不可少的。Copilot需要描述字段来了解API做什么以及何时使用Plugin。始终有一个描述字段,并使其简短而清晰。例如,这里有一个维修店web服务OpenAPI描述的信息部分。

info:
  title: Repair Service
  description: A simple service to manage repairs for various items
  version: 1.0.0

Operation IDs:增强OpenAPI描述可用性的一种有用技术是为API提供的API路径和HTTP方法的每个组合添加一个Operation ID。Operation IDs是API中操作的唯一标识符,由Copilot用于创建响应用户提示时执行的函数。

另外,添加API支持的每个操作的有意义的描述。Copilot根据用户的提示和Plugin描述选择使用Plugin后,它会搜索路径的描述,以确定用于满足用户请求的端点。

Operation IDs在调试期间显示为函数,用于指示Copilot试图执行的操作。以下是openAPI文档的示例和相应调试器输出的示例:

paths:
  /repairs:
    get:
      operationId: listRepairs
      summary: List all repairs
      description: Returns a list of repairs with their details and images

Debugger output:

Microsoft 365 开发:如何将应用转换为Plugin来扩展 Copilot 的技能_Copilot for M365_04

Parameters: 如果API支持的操作接收Parameters,请在OpenAPI描述中包含这些Parameters。包括每个Parameters的描述字段以简要描述它,并在必要时提供Parameters用法的示例。Copilot使用Parameters从用户向API发出请求的提示中获取所需的所有信息。

以下是一个示例:

parameters:
  - name: assignedTo
    in: query
    description: The name or ID of the person or team to whom the repair is assigned.
    schema:
      type: string
required: false

响应:明确定义每个操作的所有可能响应,包括成功和错误响应。每个响应都应该有一个状态代码和它所代表的内容的描述。包括回复示例有助于Copilot了解API的预期。

responses:
 
'200':
    description: A listof repairs
    content:
     
application/json:
        schema:
          type: array
          items:
     
      $ref:'#/components/schemas/Repair'
        examples:
          example1:
            value:
              [
                {
                  "id": "1",
                  "item": "Laptop",
                  "status": "In
Progress",
                  "assignedTo": "John
Doe"
                }
              ]
 
'404':
    description: No repairsfound
 
'500':
    description: Server error

 

谢谢大家阅读。