GPT Actions入门指南!

官方文档:https://platform.openai.com/docs/actions/getting-started

美国国家气象局(National Weather Service,NSW)维护了一个公共 API。

用户可以通过该 API 查询任何经纬度点的天气预报。

要获取天气预报,需要分两步进行:

用户向 api.weather.gov/points API 提供经纬度坐标,然后接收返回的 WFO(天气预报办公室)、grid-X 和 grid-Y 坐标。

将这 3 个元素输入到 api.weather.gov/forecast API 中,以获取该坐标的天气预报。

我们构建一个自定义 GPT,用户可以输入城市名、地标或经纬度坐标,然后这个自定义 GPT 可以回答关于该位置天气预报的问题。

这是一个天气查询系统的示例,通过两步 API 调用(先查坐标信息,再查天气预报)。

最终实现一个能理解自然语言查询(如城市名)并返回天气预报的智能助手。

步骤 1:编写并测试 Open API Schema(使用 Actions GPT)

GPT Action 需要一个 Open API Schema 来描述 API 调用的参数,这是描述 API 的标准格式。

OpenAI 发布了一个公开的 Actions GPT 来帮助开发者编写这个 Schema。

例如,前往 Actions GPT 并询问:访问 https://www.weather.gov/documentation/services-web-api 并阅读该页面上的文档。

为 /points/{latitude},{longitude} 和 /gridpoints/{office}/{gridX},{gridY}/forecast 这两个 API 调用构建一个 Open API Schema。

The above Actions GPT request

ChatGPT 会使用顶部的信息(特别是描述部分)来判断这个 Action 是否与用户查询相关。

然后,里面的参数会进一步定义 Schema 的每个部分。

例如,我们告知 ChatGPT,office 参数指的是气象预报办公室(Weather Forecast Office,WFO)。

关键要点:

特别注意您在 Open API Schema 中使用的 Schema 名称和描述。

ChatGPT 使用这些名称和描述来理解:

  • 应该调用哪个 API Action。

  • 应该使用哪个参数。

如果某个字段只能使用特定值,您还可以提供带有描述性类别名称的 enum(枚举)。

虽然您可以直接在 GPT Action 中尝试 Open API Schema,但直接在 ChatGPT 中调试可能会很困难。

我们建议使用第三方服务(如 Postman)来测试您的 API 调用是否正常工作。

Postman 有以下优点:

  • 免费注册

  • 错误处理信息详细

  • 支持全面的身份验证选项

  • 甚至可以直接导入 Open API Schema(见下文)

Choosing to import your API with Postman

步骤 2:确定身份验证要求

这个第三方天气服务不需要身份验证,所以您可以跳过这个自定义 GPT 的这一步。

对于其他确实需要身份验证的 GPT Actions,有两个选项:API Key 或 OAuth。

向 ChatGPT 提问可以帮助您开始处理大多数常见应用程序。

例如,如果我需要使用 OAuth 对 Google Cloud 进行身份验证,我可以提供一个截图并询问详细信息:

  • 我正在通过 OAuth 构建与 Google Cloud 的连接。

请提供如何填写每个框的说明。

通常,ChatGPT 会为所有 5 个元素提供正确的配置指导。

一旦您准备好这些基础配置,请尝试在 Postman 或其他类似服务中测试和调试身份验证。

如果您遇到错误,将错误信息提供给 ChatGPT,它通常可以帮助您从那里开始调试。

步骤 3:创建 GPT Action 并测试

提供名称、描述和图片来描述您的自定义 GPT:

  • 为 GPT 起一个清晰的名字

  • 写一段描述说明它的功能

  • 上传一个合适的图标或图片

进入 Action 部分并粘贴您的 Open API Schema:

  • 在编写指令时,记下 Action 的名称和 JSON 参数

添加您的身份验证设置:

  • 配置 API Key 或 OAuth(如果需要)

返回主页面并添加指令:

  • 编写详细的使用说明和行为指引

测试 GPT Action

在每个 Action 旁边,您会看到一个 Test(测试)按钮。

为每个 Action 点击该按钮。

在测试中,您可以看到每个 API 调用的详细输入和输出。

步骤 5:评估自定义 GPT

即使您在上一步中测试了 GPT Action,您仍然需要评估 Instructions(指令)和 GPT Action 是否按用户期望的方式运行。

尝试提出至少 5-10 个具有代表性的问题(越多越好),作为询问自定义 GPT 的评估集。

关键要点: 测试自定义 GPT 是否按您期望的方式处理每一个问题。

示例问题: 这个周末去白宫旅行我应该带什么?这个问题测试自定义 GPT 的能力:

  • 将地标转换为经纬度

  • 运行两个 GPT Actions

  • 回答用户的问题