跟 OpenAI 学写 ChatGPT API 的 Python SDK 库
ChatGPT 问世后,OpenAI 就开源了模型调用的 Python 库 openai-python。这个库功能十分齐全,封装了 OpenAI 对外公布的 API,使用起来也十分简单。
这个库的第一个版本,实现了 ChatGPT 各种 API 的参数封装 Python 抽象类和调用方法,通过 requests 和 aiohttp 库来发送同步或者异步 HTTP 请求。整体来说,对外接口良好,很容易就会使用。并且整体源码实现有很好的逻辑抽象,用了很多 Python 高级特性,代码写的很漂亮,值得学习。但是从本质上讲,这还是 “API boy“ 的工作,更多是重复体力劳动,没有太多技术含量。
于是,OpenAI 在 2023 年 11 月,开始引入 Stainless,自此不用再手工编写 SDK 代码。每次只用提供 API 协议更新,然后就能自动生成代码,摆脱了重复体力劳动。具体是在 Pull 677 中引入新的代码,并且作为正式的 V1 版本发布。