安装与基本使用
要安装 OpenAI Go 库,只需在代码中引入:
import (
"github.com/openai/openai-go"
)
或者通过命令行指定版本:
go get -u 'github.com/openai/openai-go@v0.0.1-alpha.0'
以下是一个简单的使用示例,展示了如何通过 OpenAI Go 库进行聊天完成:
package main
import (
"context"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("Your API Key"),
)
chatCompletion, err := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Say this is a test"),
}),
Model: openai.F(openai.ChatModelGPT4o),
})
if err != nil {
panic(err.Error())
}
}
功能亮点
1. 强大灵活的请求处理: 通过泛型 Field
类型区分零值、null 和省略字段,确保请求参数的准确性和灵活性。
2. 完整的响应对象: 所有响应字段为值类型,包含详细的 JSON 信息和 Extras
字段,便于处理和扩展未预见的 API 响应。
3. 便捷的分页处理: 提供自动分页方法,无缝处理大量数据,简化复杂的分页操作。
4. 智能错误处理: 详细的错误信息,帮助快速定位和解决问题,确保应用稳定运行。
5. 灵活的超时与重试机制: 支持配置请求超时和重试策略,保证请求的可靠性和稳定性。
6. 文件上传支持: 支持多部分请求中的文件上传,并可自定义文件名和内容类型,满足多样化需求。
7. 自定义请求与响应处理: 支持未记录的请求参数和响应属性访问,扩展 API 使用范围。
8. 中间件支持: 提供中间件功能,可在请求前后执行自定义逻辑,增强请求处理能力。
9. Azure OpenAI 集成: 与 Microsoft Azure OpenAI 无缝集成,通过 Azure 凭据进行身份验证,拓展使用场景。
注意
OpenAI Go库不过在初期 alpha 版本,可以及时关注官方的更新。
AGI01专注于深度学习、自然语言处理及AI技术栈的研究,推动产品落地,并深入探索全球商业应用,促进AGI技术的发展,欢迎关注。