51CTO Blog地址:https://blog.51cto.com/u_13969817
作为开发人员,你可以扩展、扩充和自定义 Microsoft Copilot for Microsoft 365 ,以采用客户的独特工作方式。
用于 Microsoft 365 的 Copilot 本身是一种功能强大的生产力工具,可让用户在 Microsoft 365 应用程序中工作。 它为用户提供一 般技能 ,例如理解、总结、预测、回忆、翻译和生成内容。 它通过索引Microsoft Graph 中的内容(例如用户有权访问的电子邮件、聊天和文档)从 组织知识的基线 中得出。
但是,业务工作流通常不会专门在 Microsoft 365 应用程序和数据格式上运行。 借助 Copilot 可扩展性,可以使用特定于企业和用户的自定义技能和组织知识来增强适用于 Microsoft 365 的 Copilot,以实现真正出色的 AI 方案。 你可以通过将应用转换为Plugin来扩展 Copilot 的技能,从而在日常任务和工作流中提高用户工作效率。 可以通过使用 Microsoft Graph 连接器引入企业数据和内容来丰富 Copilot 可访问的组织知识。
APIPlugin使Copilot for Microsoft 365能够与OpenAPI规范描述的REST API进行交互。使用APIPlugin,Copilot用户可以要求Copilot不仅查询REST API以获取信息,还可以创建、更新和删除数据和对象。REST API可以做的任何事情都可以通过自然语言提示进行访问。
Plugin使Microsoft Copilot能够使用web服务并获取实时信息。Copilot利用这些信息来扩展其技能。使用Plugin,用户可以将业务线(LOB)系统中的实时数据带到Copilot。
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:
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
谢谢大家阅读。