下一步是構建 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 規範。
评论