複数のAIプロバイダーでチャット、ストリーミング、ツール呼び出し、構造化出力を共通のインターフェースで扱えるPythonライブラリ。
openai/openai-go
Responses、Chat Completions、Realtimeなどに対応した、OpenAI REST API公式Goクライアントライブラリ。
- スター
- 3,531
- フォーク
- 361
- 未解決の Issue
- 87
- 最終コミット
- 6 時間前
これは何?
openai-goは、OpenAI REST APIの公式Goライブラリです。手作業でHTTPリクエストを組み立てる代わりに、型付きのリクエスト・レスポンス構造体を使って、GoアプリケーションからOpenAIのエンドポイントを呼び出せます。主なエントリポイントはResponses APIで、テキスト生成、複数ターンの会話、ストリーミング、ツール呼び出し、構造化出力のためのヘルパーを備えています。Chat Completions APIにも対応しています。
テキスト生成以外の機能もカバーしています。Responses API向けのWebSocket接続、型付きのRealtime接続とLive接続、リストエンドポイント向けのページネーションヘルパー、io.Readerを使ったファイルアップロード、ペイロード解析に対応したWebhook署名検証を利用できます。リクエストにはヘッダー、タイムアウト、リトライを指定する関数型オプションを使えます。また、エラーは*openai.Errorとして返されるため、プログラムから処理できます。
このモジュールにはGo 1.26以降が必要です。READMEには、古いGoツールチェーン向けの固定バージョンも記載されています。
主な機能
- 01Responses APIとChat Completions APIの呼び出しに使える、型付きGo構造体。
- 02ストリーミングレスポンスと、ツール(関数)呼び出し用ヘルパー。
- 03Goの型から生成したJSON Schemaによる構造化出力。
- 04Responses API向けのWebSocket接続と、型付きのRealtime接続・Live接続。
- 05リストエンドポイント向けの自動ページネーションヘルパーとWebhook署名検証。
ユースケース
- GoのバックエンドサービスにLLMによるテキスト生成やチャット機能を追加する。
- レスポンスIDを使って会話状態を保持する、複数ターン対応のアシスタントを構築する。
- JSON Schemaを使ってモデル出力から型付きデータを抽出する。
- GoサーバーでOpenAIのWebhookイベントを受信し、署名を検証する。
クイックスタート
- 1
SDKを指定したバージョンでインストールする
go get -u 'github.com/openai/openai-go/v3@v3.96.0' - 2
環境変数 OPENAI_API_KEY にOpenAI APIキーを設定する
- 3
クライアントを作成し、READMEに記載されているResponsesのサンプルコードを使って client.Responses.New を呼び出す
使う前に知っておきたいこと
- Go 1.26以降が必要です。それより古いツールチェーンを使う場合は、古いSDKリリースのバージョンを固定してください。
- 最新バージョンには小規模で限定的な破壊的変更が含まれているため、アップグレード前に変更履歴を確認してください。
- js/wasmビルドではResponses WebSocketsを利用できません。
収録されている特集
トピック
よくある質問
- openai-go とは?
- Responses、Chat Completions、Realtimeなどに対応した、OpenAI REST API公式Goクライアントライブラリ。 openai-goは、OpenAI REST APIの公式Goライブラリです。手作業でHTTPリクエストを組み立てる代わりに、型付きのリクエスト・レスポンス構造体を使って、GoアプリケーションからOpenAIのエンドポイントを呼び出せます。主なエントリポイントはResponses APIで、テキスト生成、複数ターンの会話、ストリーミング、ツール呼び出し、構造化出力のためのヘルパーを備えています。Chat Completions APIにも対応しています。
- openai-go は無料で使えますか?ライセンスは?
- openai-go は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- openai-go は今もメンテナンスされていますか?
- 活発にメンテナンス中。openai-go の最終コミットは 2026年11月7日 です。
- openai-go は何に使えますか?
- GoのバックエンドサービスにLLMによるテキスト生成やチャット機能を追加する。 レスポンスIDを使って会話状態を保持する、複数ターン対応のアシスタントを構築する。 JSON Schemaを使ってモデル出力から型付きデータを抽出する。 GoサーバーでOpenAIのWebhookイベントを受信し、署名を検証する。
- openai-go のインストール方法は?
- SDKを指定したバージョンでインストールする: go get -u 'github.com/openai/openai-go/v3@v3.96.0' 環境変数 OPENAI_API_KEY にOpenAI APIキーを設定する クライアントを作成し、READMEに記載されているResponsesのサンプルコードを使って client.Responses.New を呼び出す
- openai-go はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/openai/openai-go
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
主要なLLMプロバイダーやUIフレームワークに対応した、ストリーミングチャット、ツール呼び出し、エージェント、マルチモーダルアプリ向けの型安全でプロバイダー非依存なTypeScript SDK。
同期・非同期クライアントと型付きのリクエスト/レスポンスモデルを備えた、OpenAI REST API公式Pythonライブラリ。
Responses、Chat Completions、画像、音声などに対応した、依存関係ゼロの非公式OpenAI API向けGoクライアント。