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으로 고정).

링크


모든 세부 정보는 저장소의 README에서 직접 가져온 것이며, 추가적인 주장은 하지 않습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트