V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuelang
V2EX  ›  程序员

OpenAI 的 Python SDK 库已经是自动生成代码了?

  •  
  •   xuelang ·
    selfboot · 109 天前 · 1329 次点击
    这是一个创建于 109 天前的主题,其中的信息可能已经有所发展或是发生改变。

    OpenAI 的程序员,不满足于做一个 API boy ,从仓库的提交记录中可以看到,在 2023.11 在 V1 中做了比较大的改动,使用 stainless 来生成代码,并且随后就引入了 stainless-bot 机器人。

    stainless 是一个开源的 API SDK 生成工具,可以根据 API 协议定义,自动生成对应的代码。你只需要提供 API 接口文件,也就是 OpenAPI Specification 文件,然后就会生成各种语言的 SDK 了。目前(2024.01)支持 TypeScript, Node, Python, Java, Go, Kotlin 等语言。

    这里生成的代码质量也是有保障的,按照文档所说,会尽量让自动生成的代码和专家级别的人写的代码一样。生成的库还会支持丰富的类型校验,可以用于自动补全和 IDE 中光标悬停时的文档提示,另外还支持带退避的自动重试,以及身份验证等。每次 API 接口有新的变更,只有更新 API 协议定义文件,然后用 Github Action 推送给 stainless ,就能自动生成新的代码,接着给你的仓库提供一个 Pull Request 。

    stainless 目前的资料还比较少,哪位老板有了解是怎么实现的吗?


    完整文章在跟 OpenAI 学写 ChatGPT API 的 Python SDK 库

    dayeye2006199
        1
    dayeye2006199  
       108 天前 via iPhone
    这个思路不是好早就有了吗,swagger 最早就能生成这个东西
    xuelang
        2
    xuelang  
    OP
       108 天前
    @dayeye2006199 哦哦,是我孤陋寡闻了,第一次见生成 sdk 代码的,不过还没搞清楚 stainless 具体怎么生成的
    dayeye2006199
        3
    dayeye2006199  
       107 天前   ❤️ 1
    @xuelang 那就别猜了,看代码就对了 -- https://github.com/OpenAPITools/openapi-generator
    xuelang
        4
    xuelang  
    OP
       107 天前
    @dayeye2006199 太 6 了,这个竟然也是开源了的
    这里也提到原来 Swagger 以前也有生成的

    Swagger Codegen to OpenAPI Generator
    xuelang
        5
    xuelang  
    OP
       107 天前
    不对,这个是 openapi 的 generator ,不过 OpenAI 的 sdk 貌似不是用的这个吧
    dayeye2006199
        6
    dayeye2006199  
       106 天前
    @xuelang 万变不离其中,主要思想就是 meta programming
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2777 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:19 · PVG 23:19 · LAX 08:19 · JFK 11:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.