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 との互換性シム。
  • 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から直接引用しており、追加の主張は行っていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト