Repolode
sashabaranov

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

    go get でライブラリをインストールします

    go get github.com/sashabaranov/go-openai
  2. 2

    環境変数に OpenAI API キーを設定します

    export OPENAI_API_KEY="<your key>"
  3. 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 の数値は毎日更新されます。

関連プロジェクト