转载

OpenAi的聊天插件生产

速率限制

请考虑对公开的 API 终结点实施速率限制。虽然当前规模有限,但 ChatGPT 被广泛使用,您应该期待大量的请求。您可以监控请求数并相应地设置限制。

超时

在插件体验期间进行 API 调用时,如果超过以下阈值,则会发生超时:

  • 15 秒往返获取ai-plugn.json/openapi.yaml
  • API 调用往返 45 秒

随着我们将插件体验扩展到更多人,我们预计超时阈值将减少。

更新您的插件

将插件部署到生产环境后,您可能需要对清单文件进行更改。目前,每次更改文件时,都必须通过插件存储中的“开发自己的插件”流程手动更新清单文件。ai-plugin.json

每次发出请求时,ChatGPT 都会自动获取最新的 OpenAPI 规范。

插件术语

为了注册插件,您必须同意插件条款

域名验证和安全

为了确保插件只能对它们控制的资源执行操作,OpenAI 对插件的清单和 API 规范强制执行要求。

定义插件的根域

清单文件定义了向用户显示的信息(如徽标和联系信息)以及托管插件 OpenAPI 规范的 URL。获取清单时,将按照以下规则建立插件的根域:

  • 如果域具有子域,则根域将从托管清单的域中删除。www.www.
  • 否则,根域与托管清单的域相同。

关于重定向的说明:如果在解析清单时有任何重定向,则只允许子域重定向。唯一的例外是从 www 子域重定向到没有 www 的子域。

根域的外观示例:

  • https://example.com/.well-known/ai-plugin.json
    • 根域:example.com
  • https://www.example.com/.well-known/ai-plugin.json
    • 根域:example.com
  • ✅ →重定向至https://www.example.com/.well-known/ai-plugin.jsonhttps://example.com/.well-known/ai-plugin.json
    • 根域:example.com
  • ✅ →重定向至https://foo.example.com/.well-known/ai-plugin.jsonhttps://bar.foo.example.com/.well-known/ai-plugin.json
    • 根域:bar.foo.example.com
  • ✅ →重定向至https://foo.example.com/.well-known/ai-plugin.jsonhttps://bar.foo.example.com/baz/ai-plugin.json
    • 根域:bar.foo.example.com
  • ❌ →重定向至https://foo.example.com/.well-known/ai-plugin.jsonhttps://example.com/.well-known/ai-plugin.json
    • 不允许重定向到父级域
  • ❌ →重定向至https://foo.example.com/.well-known/ai-plugin.jsonhttps://bar.example.com/.well-known/ai-plugin.json
    • 不允许重定向到同一级别的子域
  • ❌ ->重定向至https://example.com/.well-known/ai-plugin.jsonhttps://example2.com/.well-known/ai-plugin.json
    • 不允许重定向到另一个域

清单验证

清单本身中的特定字段必须满足以下要求:

  • api.url- 提供给 OpenAPI 规范的 URL 必须托管在根域的同一级别或子域中。
  • legal_info- 提供的 URL 的二级域必须与根域的二级域相同。
  • contact_info- 电子邮件地址的二级域应与根域的二级域相同。

解析 API 规范

清单中的字段提供了指向 OpenAPI 规范的链接,该规范定义了插件可以调用的 API。OpenAPI 允许指定多个服务器基 URL。以下逻辑用于选择服务器 URL:api.url

  • 循环访问服务器 URL 列表
  • 使用与根域或根域的子域完全匹配的第一个服务器 URL
  • 如果上述两种情况都不适用,则默认为 API 规范所在的域。例如,如果规范托管在 上,则将用作 OpenAPI 规范中路由的基本 URL。api.example.comapi.example.com

注意:请避免使用重定向来托管 API 规范和任何 API 端点,因为不能保证始终遵循重定向。

使用 TLS 和 HTTPS

插件的所有流量(例如,获取文件、OpenAPI 规范、API 调用)必须在端口 1 上使用 TLS 2.443 或更高版本,并具有有效的公共证书。ai-plugin.json

IP 出口范围

ChatGPT 会从 CIDR 块中的 IP 地址调用您的插件。您可能希望将这些 IP 地址明确列入允许列表。23.102.140.112/28

另外,OpenAI的Web浏览插件从不同的IP地址块访问网站:。23.98.142.176/28

常见问题

如何使用插件数据?

插件将 ChatGPT 连接到外部应用程序。如果用户启用了插件,ChatGPT 可能会将他们的部分对话以及他们的国家或州发送到您的插件。

如果对我的 API 的请求失败,会发生什么情况?

如果 API 请求失败,模型最多可以重试请求 10 次,然后让用户知道它无法从该插件获得响应。

我可以邀请人们试用我的插件吗?

是的,所有未经验证的插件最多可以由 15 个用户安装。在发布时,只有其他具有访问权限的开发人员才能安装该插件。我们计划随着时间的推移扩大访问权限,并最终推出一个流程,在向所有用户提供插件之前提交您的插件以供审核。

我可以为我的插件向人们收费吗?

是的,我们鼓励您考虑有限数量的免费 API 调用,但要了解它需要资源来运行您的插件。