openai/openai-go
The official Go library for the OpenAI API
openai/openai-go
개요
- OpenAI REST API를 위한 공식 Go 클라이언트 라이브러리입니다. Go 프로그램에서 OpenAI 모델(ChatGPT, GPT‑4o 등)을 호출하여 텍스트 생성, 도구 호출, 스트리밍, 구조화된 출력 및 WebSocket 기반 실시간 응답을 구현할 수 있습니다.
주요 기능
- API 키 처리(환경 변수 폴백)를 포함한 간단한
openai.NewClient생성자. - Responses API(최신 통합 엔드포인트)를 위한 고급 헬퍼:
- 단일 턴 및 멀티 턴 대화.
- 상태 유지 채팅을 위한 대화 객체.
NewStreaming을 통한 스트리밍 응답.- 도구/함수 호출 지원.
- JSON‑Schema를 사용한 구조화된 출력 생성.
- 저지연, 증분 응답 전달, 레인 기반 동시성 및 복구 처리를 위한 WebSocket 지원.
- 이전 Chat Completions API와의 호환성 심(shim).
- 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에서 직접 가져온 것이며, 추가적인 주장은 하지 않습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트