Repolode
openai

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. 1

    SDKを指定したバージョンでインストールする

    go get -u 'github.com/openai/openai-go/v3@v3.96.0'
  2. 2

    環境変数 OPENAI_API_KEY にOpenAI APIキーを設定する

  3. 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 の数値は毎日更新されます。

関連プロジェクト