如何利用ChatGPT重振API性能 - Kong Inc.

作者:API传播员 · 2025-11-14 · 阅读时间:6分钟

在这篇文章中,我们将探讨如何利用 ChatGPT,通过为已有文档的现有 API 创建 OpenAPI 规范,从而提升 API 的性能和维护效率。


简介

ChatGPT 是由 Transformer(GPT)架构,这是大型语言模型(LLM)的一部分。近年来,ChatGPT 因其强大的语言生成能力而备受关注。

应用程序编程接口(API)是现代软件开发的重要组成部分,它们支持不同系统之间的通信。然而,传统的 API 通常缺乏标准化的文档和版本控制,这可能导致信息过时、维护困难以及使用效率低下等问题。

相比之下,较新的 API 通常采用 OpenAPI 规范等标准。OpenAPI 规范由 OpenAPI Initiative 定义,用于描述 API 的工作方式,并以机器可读的文档形式呈现。通过 OpenAPI 规范,可以实现以下优势:

  • 提供 API 的一致性描述;
  • 记录 API 的功能和使用方式;
  • 生成代码存根以便于消费和生成 API;
  • 实现 API 的版本控制。

这些特性不仅能加速 API 的开发和服务使用,还能显著减少维护成本。


使用 ChatGPT 生成 OpenAPI 规范

在本次实验中,我们使用 ChatGPT 3.5 版本,尝试为现有 API 生成 OpenAPI 规范。以下是我们提出的问题示例:

ChatGPT OpenAPI 规范结果

非确定性结果的挑战

ChatGPT 生成的结果具有非确定性,这意味着即使是相同的问题,在不同时间提交也可能得到不同的答案。在实验中,我们多次提出相同的问题,结果显示虽然答案存在相似性,但具体内容有所差异。

这种非确定性使得 ChatGPT 难以直接应用于自动化 CI/CD 管道中,因为生成的结果可能不一致。此外,某些 OpenAPI 规范的片段在一个结果中可能正确,而在另一个结果中可能存在问题。因此,手动比较和整合多个结果成为创建初始 OpenAPI 规范的一种可行方法。

使用 Insomnia 校验 OpenAPI 规范

Insomnia 是一个支持 OpenAPI 规范的工具,内置了 linter 功能,可以检查生成的规范是否符合标准。如果需要遵循特定风格,还可以自定义 linter 的规则集。

以下是 ChatGPT 生成的 OpenAPI 规范在 Insomnia 中的应用示例:

ChatGPT OpenAPI 规范在 Insomnia 中的应用

在初次生成的规范中,发现了 2 个错误和 11 个警告。主要问题包括:

  • 参数未正确识别,例如需要将 /actions/{lat, lon} 修改为 /actions/{lat}/{lon}

使用 ChatGPT 重新生成 OpenAPI 规范

为了改进初次生成的结果,我们对问题进行了重新设计,尝试生成更符合需求的 OpenAPI 规范:

ChatGPT 第二次生成的 OpenAPI 规范

改进后的结果

第二次生成的 OpenAPI 规范中,错误数量减少至 3 个,警告数量减少至 6 个。以下是主要改进点:

  1. 修复参数识别错误,将 /actions/{lat, lon} 修改为 /actions/{lat}/{lon}
  2. 调整联系人信息的缩进格式,消除相关错误和警告。
  3. 添加全局标记以修复丢失的内容,例如以下代码片段:
    tags:
     - name: Example
       description: 示例标签

最终,改进后的 OpenAPI 规范在 Kong Insomnia 中成功通过了验证:

改进后的 OpenAPI 规范验证成功


多个 OpenAPI 规范版本的管理

OpenAPI 规范的一个重要优势是支持版本控制。在本次实验中,我们创建了多个版本的 OpenAPI 规范,并逐步改进。这些版本可以通过开发者门户进行管理,从而实现以下目标:

  • 加速 API 的开发;
  • 提高 API 服务的使用效率;
  • 减少 API 的维护成本。

以下是不同版本的 OpenAPI 规范在 Konnect 开发者门户中的展示示例:

Konnect 开发者门户中的多个版本


总结

ChatGPT 能够生成接近完整且可用的 OpenAPI 规范,但在实际应用中仍需开发者手动修复一些次要问题,例如参数识别错误、缺失的全局标记等。此外,生成的规范还可以通过更新描述字段、添加参数默认值等方式进一步优化,以更好地服务开发者。

需要注意的是,本文的实验基于一个已有良好文档记录的 API。如果文档较少,ChatGPT 的生成结果可能会存在较大差异。因此,当需要快速创建 OpenAPI 规范的初始版本,并进行少量修改时,ChatGPT 是一个值得考虑的工具。

尽管目前 ChatGPT 的生成结果尚未达到完全可重复的水平,但随着技术的进步,未来几年内这一情况可能会显著改善。

原文链接: https://konghq.com/blog/engineering/using-chatgpt-to-reinvigorate-apis