openai/openai-go
The official Go library for the OpenAI API
openai/openai-go
这是什么
- 用于 OpenAI REST API 的官方 Go 客户端库。它让 Go 程序能够调用 OpenAI 模型(ChatGPT、GPT‑4o 等)进行文本生成、工具调用、流式传输、结构化输出以及基于 WebSocket 的实时响应。
主要功能
- 简单的
openai.NewClient构建方式,包含 API 密钥处理(环境变量回退)。 - 针对 Responses API(最新的统一端点)的高级辅助工具,包括:
- 单轮与多轮对话。
- 用于状态化聊天的对话对象。
- 通过
NewStreaming进行流式响应。 - 工具/函数调用支持。
- 使用 JSON‑Schema 的结构化输出生成。
- 支持 WebSocket,用于低延迟、增量响应传递、基于通道的并发以及恢复处理。
- 与旧版 Chat Completions API 的兼容性垫片。
- 从 OpenAI 规范生成的类型化请求/响应结构,并提供如
openai.String、openai.Bool等辅助函数。
典型用法
import (
"context"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
"github.com/openai/openai-go/v3/responses"
)
func main() {
ctx := context.Background()
client := openai.NewClient(option.WithAPIKey("YOUR_KEY"))
resp, _ := client.Responses.New(ctx, responses.ResponseNewParams{
Model: openai.ChatModelGPT5_2,
Input: responses.ResponseNewParamsInputUnion{OfString: openai.String("Write a haiku about computers")},
})
println(resp.OutputText())
}
README 包含更多示例(多轮对话、流式传输、工具调用、结构化输出、WebSocket 使用)。
安装
# Import path in code
import "github.com/openai/openai-go/v3"
# Or fetch a specific version
go get -u 'github.com/openai/openai-go/v3@v3.66.0'
需要 Go 1.25+(或针对 Go 1.22‑1.24 锁定 v3.44.0)。
链接
- Package reference on pkg.go.dev
- CHANGELOG.md
- Go version policy
- 仓库中的完整 API 规范 (
api.md)。
所有详细信息均直接取自仓库的 README;不作额外声明。
相关
- 项目
- 项目
- 项目
- 项目
- 项目