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)。

链接


所有详细信息均直接取自仓库的 README;不作额外声明。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目