go-openai 学习资料汇总
go-openai 是一个非常流行的 Go 语言 OpenAI API 客户端库,为开发者提供了便捷的方式来集成 OpenAI 的各种 AI 能力。本文将为大家整理 go-openai 的相关学习资源,帮助你快速上手使用这个强大的库。
项目简介
go-openai 是由 sashabaranov 开发的非官方 OpenAI API Go 语言客户端库。它支持以下 OpenAI 服务:
- ChatGPT
- GPT-3, GPT-4
- DALL·E 2, DALL·E 3
- Whisper
该项目在 GitHub 上已获得 8.9k 星标,是使用 Go 语言调用 OpenAI API 的热门选择。
安装使用
安装 go-openai 非常简单,只需一行命令:
go get github.com/sashabaranov/go-openai
注意该库要求 Go 版本 >= 1.18。
快速开始
以下是一个简单的 ChatGPT 调用示例:
package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
client := openai.NewClient("your-api-key")
resp, err := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: openai.GPT3Dot5Turbo,
Messages: []openai.ChatCompletionMessage{
{
Role: openai.ChatMessageRoleUser,
Content: "Hello!",
},
},
},
)
if err != nil {
fmt.Printf("ChatCompletion error: %v\n", err)
return
}
fmt.Println(resp.Choices[0].Message.Content)
}
文档与资源
-
官方文档: pkg.go.dev
-
GitHub 仓库: sashabaranov/go-openai
-
示例代码: examples
-
OpenAI API 文档: platform.openai.com/docs
主要特性
- 支持所有主要的 OpenAI API 端点
- 流式响应支持
- 自定义 HTTP 客户端
- 请求超时设置
- 代理支持
- 自动重试机制
社区与支持
- GitHub Issues: issues
- Discussions: discussions
贡献指南
如果你想为 go-openai 做出贡献,可以查看 CONTRIBUTING.md 文件了解详情。
总结
go-openai 为 Go 开发者提供了一个简单易用的 OpenAI API 客户端库。通过本文整理的资源,相信你可以快速上手使用 go-openai,将 OpenAI 的强大 AI 能力集成到你的 Go 项目中。如果在使用过程中遇到任何问题,欢迎查阅官方文档或在 GitHub 上提出 issue。
祝你使用愉快!🚀