51CTO Blog地址:https://blog.51cto.com/u_13969817
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描述的信息部分。
Operation IDs:增强OpenAPI描述可用性的一种有用技术是为API提供的API路径和HTTP方法的每个组合添加一个Operation ID。Operation IDs是API中操作的唯一标识符,由Copilot用于创建响应用户提示时执行的函数。
另外,添加API支持的每个操作的有意义的描述。Copilot根据用户的提示和Plugin描述选择使用Plugin后,它会搜索路径的描述,以确定用于满足用户请求的端点。
Operation IDs在调试期间显示为函数,用于指示Copilot试图执行的操作。以下是openAPI文档的示例和相应调试器输出的示例:
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