下一步是构建 OpenAPI 规范来记录 API。ChatGPT 中的模型除了在 OpenAPI 规范和清单文件中定义的内容外,对您的 API 一无所知。这意味着,如果您有一个庞大的 API,您不需要将所有功能暴露给模型,可以选择特定的端点。例如,如果您有一个社交媒体 API,您可能希望模型通过 GET 请求从站点访问内容,但防止模型能够在用户帖子上发表评论,以减少垃圾邮件的机会。
OpenAPI 规范是放置在您的 API 之上的包装器。一个基本的 OpenAPI 规范如下所示:
```
openapi: 3.0.1
info:
title: TODO 插件
description: 一个允许用户使用 ChatGPT 创建和管理 TODO 列表的插件。
version: 'v1'
servers:
- url: http://localhost:3333
paths:
/todos:
get:
operationId: getTodos
summary: 获取 todos 列表
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getTodosResponse'
components:
schemas:
getTodosResponse:
type: object
properties:
todos:
type: array
items:
type: string
description: todos 列表。
```
我们首先定义规范版本、标题、描述和版本号。当在 ChatGPT 中运行查询时,它会查看在 info 部分定义的描述,以确定插件是否与用户查询相关。您可以在编写描述部分中阅读更多关于提示的内容。
请记住,您的 OpenAPI 规范中有以下限制,这些限制可能会发生变化:
- API 端点描述/摘要字段在 API 规范中最多 200 个字符
- API 参数描述字段在 API 规范中最多 200 个字符
由于我们在本地运行此示例,我们希望将服务器设置为指向您的 localhost URL。OpenAPI 规范的其余部分遵循传统的 OpenAPI 格式,您可以通过各种在线资源了解更多关于 OpenAPI 格式的信息。还有许多工具可以根据您的底层 API 代码自动生成 OpenAPI 规范。
评论