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 に固定してください)。
リンク
- Package reference on pkg.go.dev
- CHANGELOG.md
- Go version policy
- リポジトリ内の完全なAPI仕様 (
api.md)。
すべての詳細はリポジトリのREADMEから直接引用しており、追加の主張は行っていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト