OpenAI 的 Go SDKgo-openai迎来新版本 v1.38.2,本次更新虽然看似轻量,但对开发者来说却是一个重要的优化——新增了对 JSON Schema 枚举标签(enum tag)的支持!
更新亮点
1.JSON Schema 枚举支持#962[1]
• 由贡献者@jtarchie提交,本次更新允许开发者在定义 API 请求/响应结构时,使用enum标签更精准地约束字段的可选值范围。
• 例如,在 OpenAI 的 Function Calling 功能中,可以更严格地定义参数的可选枚举值(如温度单位"celsius" | "fahrenheit"),避免无效输入。
2.更严谨的 API 交互
• 结合 OpenAI 近期推出的结构化输出(Structured Output)和函数调用(Function Calling)功能,enum支持让 Go 开发者能更安全、高效地构建 AI 应用。
为什么这个更新重要?
•减少运行时错误:通过 Schema 校验,避免非法参数传入 API。
•提升开发体验:结合 Go 的强类型特性,让 AI 接口调用更符合工程规范。
•适配 OpenAI 最新能力:如o1模型的reasoning_effort参数(支持low | medium | high),枚举标签能直接映射这类选项。
代码示例
type WeatherParams struct {
Location string `json:"location"`
Unit string `json:"unit" enum:"celsius,fahrenheit"` // 新增 enum 标签支持
}
这样,在调用 OpenAI 的天气查询 Function 时,Unit字段会自动校验输入是否合法。
总结
虽然 v1.38.2 是一个小版本更新,但它进一步强化了go-openai在类型安全和OpenAI 新功能适配上的优势。对于正在使用 Go 开发 AI 应用的团队来说,建议尽快升级!
相关链接
•GitHub 更新日志[2]
引用链接
[1]#962:https://github.com/sashabaranov/go-openai/pull/962
[2]GitHub 更新日志:https://github.com/sashabaranov/go-openai/releases/tag/v1.38.2
·
欢迎关注“福大大架构师每日一题”,让AI助力您的未来发展。
·
领取专属 10元无门槛券
私享最新 技术干货