ストリーミングに対応し、実行時のサードパーティ依存がない、コミュニティメンテナンスのOpenAI REST API用PHPクライアント。
sashabaranov/go-openai
Responses、Chat Completions、画像、音声などに対応した、依存関係ゼロの非公式OpenAI API向けGoクライアント。
- スター
- 10,805
- フォーク
- 1,713
- 未解決の Issue
- 226
- 最終コミット
- 先月
これは何?
go-openaiは、OpenAI API向けの非公式Goクライアントライブラリです。型付きのリクエスト/レスポンス用structを使って、Responses API、Chat Completions、embeddings、画像生成、音声のテキスト化、モデレーション、ファイル、ファインチューニング、バッチ、vector storesなどのOpenAIサービスをGoプログラムから呼び出せます。
ストリーミングレスポンス、カスタマイズ可能なHTTPクライアントとベースURL、Azure OpenAIの設定に対応しています。APIから返されるエラーは、APIError型を使ってerrors.Asで調べられます。現在のOpenAIモデル用の定数も用意されており、パッケージに未定義のモデルはモデルIDを通常の文字列として渡せます。
新たにテキスト生成やツール呼び出しを連携する場合はResponses APIが推奨されますが、既存コード向けにChat Completionsも引き続き利用できます。複数ターンのレスポンス、function tools、画像生成、音声からテキストへの変換を実行できるサンプルも含まれています。
主な機能
- 01Responses、Chat Completions、画像、音声など、各種OpenAIエンドポイント向けの型付きGo struct。
- 02ResponsesとChat Completionsの両方でストリーミングに対応。
- 03HTTPクライアント、ベースURL、organization、ヘッダーを設定可能。
- 04Azure OpenAIの設定用ヘルパー。
- 05errors.Asで扱える構造化APIエラー。
ユースケース
- Goのバックエンドサービスに、OpenAIを活用したテキスト生成やツール呼び出しを追加する。
- モデルの出力を受信しながら表示するストリーミングチャットUIを構築する。
- Goアプリケーションで画像を生成したり、音声を文字起こししたりする。
- カスタムベースURLを使って、Goクライアントの接続先をOpenAI互換エンドポイントにする。
クイックスタート
- 1
go get でライブラリをインストールします
go get github.com/sashabaranov/go-openai - 2
環境変数に OpenAI API キーを設定します
export OPENAI_API_KEY="<your key>" - 3
examples ディレクトリから Responses API のサンプルを実行します
go run ./examples/responses
使う前に知っておきたいこと
- これは非公式クライアントであり、OpenAI によるメンテナンスは行われていません。
- Go 1.18 以降と OpenAI API キーが必要です。
収録されている特集
トピック
よくある質問
- go-openai とは?
- Responses、Chat Completions、画像、音声などに対応した、依存関係ゼロの非公式OpenAI API向けGoクライアント。 go-openaiは、OpenAI API向けの非公式Goクライアントライブラリです。型付きのリクエスト/レスポンス用structを使って、Responses API、Chat Completions、embeddings、画像生成、音声のテキスト化、モデレーション、ファイル、ファインチューニング、バッチ、vector storesなどのOpenAIサービスをGoプログラムから呼び出せます。
- go-openai は無料で使えますか?ライセンスは?
- go-openai は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- go-openai は今もメンテナンスされていますか?
- 半年以内に更新あり。go-openai の最終コミットは 2026年9月29日 です。
- go-openai は何に使えますか?
- Goのバックエンドサービスに、OpenAIを活用したテキスト生成やツール呼び出しを追加する。 モデルの出力を受信しながら表示するストリーミングチャットUIを構築する。 Goアプリケーションで画像を生成したり、音声を文字起こししたりする。 カスタムベースURLを使って、Goクライアントの接続先をOpenAI互換エンドポイントにする。
- go-openai のインストール方法は?
- go get でライブラリをインストールします: go get github.com/sashabaranov/go-openai 環境変数に OpenAI API キーを設定します: export OPENAI_API_KEY="<your key>" examples ディレクトリから Responses API のサンプルを実行します: go run ./examples/responses
- go-openai はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/sashabaranov/go-openai
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
AppleプラットフォームとLinuxでOpenAIの公開APIを利用でき、OpenAI互換プロバイダーにも対応するSwiftパッケージです。
LLMでgitのコミットメッセージや簡潔なコードレビューを生成し、prepare-commit-msg git hookもインストールできるGo製CLIです。
自分のAPIキーでOpenAI互換チャットAPIを利用でき、チャット履歴をローカルに保存して共有もできる、軽量なSvelte製Webクライアントです。
同期・非同期クライアントと型付きのリクエスト/レスポンスモデルを備えた、OpenAI REST API公式Pythonライブラリ。
Responses、Chat Completions、Realtimeなどに対応した、OpenAI REST API公式Goクライアントライブラリ。