このページでは、OpenAI API を使って開発する主な方法を紹介します。アプリケーションのコードからは公式 SDK を、シェルでの作業には OpenAI CLI を、オーケストレーションには Agents SDK を使用できます。使い慣れた HTTP クライアントも利用できます。
API キーの作成とエクスポート
まず、ダッシュボードで API キーを作成します。このキーを使って安全に API にアクセスします。キーは、.zshrc ファイルやコンピューター上の別のテキストファイルなど、安全な場所に保存してください。API キーを生成したら、ターミナルで環境変数としてエクスポートします。
export OPENAI_API_KEY="your_api_key_here"setx OPENAI_API_KEY "your_api_key_here"OpenAI の SDK は、システムの環境変数から API キーを自動的に読み取ります。
公式 SDK のインストール
Node.js、Deno、Bun などのサーバーサイド JavaScript 環境から OpenAI API を呼び出すには、公式の TypeScript および JavaScript 向け OpenAI SDK を利用できます。まず、npm またはお好みのパッケージマネージャーで SDK をインストールします。
npm install openaiOpenAI SDK をインストールしたら、example.mjs というファイルを作成し、次のサンプルコードを貼り付けます。
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
input: "Write a one-sentence bedtime story about a unicorn.",
});
console.log(response.output_text);node example.mjs でコードを実行します(Deno または Bun を使う場合は、対応するコマンドを使います)。しばらくすると、API リクエストの結果が表示されます。
SDK のその他の機能やオプションについては、GitHub リポジトリの README をご覧ください。
Python から OpenAI API を呼び出すには、公式の Python 向け OpenAI SDK を利用できます。まず、pip で SDK をインストールします。
pip install openaiOpenAI SDK をインストールしたら、example.py というファイルを作成し、以下のサンプルコードを貼り付けます。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
input="Write a one-sentence bedtime story about a unicorn.",
)
print(response.output_text)python example.py でコードを実行します。しばらくすると、API リクエストの結果が表示されます。
SDK のその他の機能やオプションについては、このライブラリの GitHub リポジトリにある README を参照してください。
OpenAI は Microsoft と協力し、C# 向けに公式サポート付きの API クライアントを提供しています。.NET CLI を使って NuGet からインストールできます。
dotnet add package OpenAI
Responses API に簡単なリクエストを送る例を示します。
using OpenAI.Responses;
#pragma warning disable OPENAI001
string key = Environment.GetEnvironmentVariable("OPENAI_API_KEY")!;
ResponsesClient client = new(key);
ResponseResult response = await client.CreateResponseAsync(
"gpt-6-astra",
"Say 'this is a test.'"
);
Console.WriteLine($"[ASSISTANT]: {response.GetOutputText()}");OpenAI は、Java から API を利用するためのライブラリをベータ版として提供しています。次の設定で、このライブラリを Maven の依存関係に追加できます。
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>4.101.0</version>
</dependency>Responses API に簡単なリクエストを送る例を示します。
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
public class Main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
ResponseCreateParams params =
ResponseCreateParams.builder().input("Say this is a test").model("gpt-6-astra").build();
Response response = client.responses().create(params);
response.output().stream()
.flatMap(item -> item.message().stream())
.flatMap(message -> message.content().stream())
.flatMap(content -> content.outputText().stream())
.forEach(outputText -> System.out.println(outputText.text()));
}
}Java で OpenAI API を使う方法について詳しくは、以下の GitHub リポジトリをご覧ください。
ライブラリの GitHub リポジトリにある README では、SDK のその他の機能やオプションを紹介しています。
OpenAI は、Go から API を利用するためのライブラリをベータ版として提供しています。以下のコードでライブラリをインポートできます。
import (
"github.com/openai/openai-go/v3" // imported as openai
)Responses API に最初のリクエストを送るコード例を示します。
package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/responses"
)
func main() {
client := openai.NewClient()
resp, err := client.Responses.New(context.TODO(), responses.ResponseNewParams{
Model: "gpt-6-astra",
Input: responses.ResponseNewParamsInputUnion{OfString: openai.String("Say this is a test")},
})
if err != nil {
panic(err.Error())
}
fmt.Println(resp.OutputText())
}Go で OpenAI API を使う方法について詳しくは、以下の GitHub リポジトリをご覧ください。
ライブラリの GitHub リポジトリにある README では、SDK のその他の機能やオプションを紹介しています。
Ruby から OpenAI API を利用するには、公式の Ruby 向け OpenAI SDK が使えます。まず、アプリケーションに gem を追加します。
gem "openai"OpenAI SDK をインストールしたら、example.rb というファイルを作成し、次のサンプルコードを貼り付けます。
require "openai"
openai = OpenAI::Client.new
response = openai.responses.create(
model: "gpt-6-astra",
input: "Write a one-sentence bedtime story about a unicorn."
)
puts(response.output_text)ruby example.rb でコードを実行します。しばらくすると、API リクエストの結果が表示されます。
SDK のその他の機能やオプションについては、GitHub にあるこのライブラリの README を参照してください。
ターミナルから OpenAI API を直接呼び出すには、自動生成されたコマンドラインツール openai をインストールします。
brew install openai/tools/openai次に、シェルから基本的な API リクエストを送信します。
openai responses create \
--model "gpt-6-astra" \
--input "Write a one-sentence bedtime story about a unicorn." \
--raw-output \
--transform 'output.#(type=="message").content.0.text'CLI は、ターミナルで繰り返し行う作業に使えます。たとえば、ファイルから構造化データを抽出したり、画像や音声を生成したり、jq などのシェルツールと API 呼び出しを組み合わせたりできます。
CLI を使ったワークフローやコマンドの使い方を詳しく紹介します。
Agents SDK の利用
API に直接リクエストを送るには、上記の OpenAI 公式 SDK を使用します。アプリケーションでエージェント、ツール、ハンドオフ、ガードレール、トレーシング、サンドボックスでの実行などをコードでオーケストレーションする必要がある場合は、Agents SDK を使用します。
API に直接リクエストを送る方法と、コードでオーケストレーションする方法のどちらを選ぶか迷った場合は、Responses API と Agents SDK の比較を参照してください。
Agents SDK を使って最初のエージェントを作成します。
Azure OpenAI ライブラリ
Microsoft の Azure チームは、OpenAI API と Azure OpenAI サービスの両方に対応するライブラリを保守しています。各ライブラリで OpenAI API を利用する方法は、以下のドキュメントを参照してください。
- .NET 用 Azure OpenAI クライアントライブラリ
- JavaScript 用 Azure OpenAI クライアントライブラリ
- Java 用 Azure OpenAI クライアントライブラリ
- Go 用 Azure OpenAI クライアントライブラリ
コミュニティが提供するライブラリ
以下のライブラリは、開発者コミュニティが開発・保守しています。GitHub で OpenAI の OpenAPI 仕様リポジトリをウォッチすると、OpenAI が API を変更した際に通知を受け取れます。
OpenAI は、これらのプロジェクトの正確性や安全性を検証していません。ご自身の責任で使用してください。
Clojure
- openai-clojure(開発者:wkok)
Dart/Flutter
Delphi
- DelphiOpenAI(開発者:HemulGM)
Elixir
Kotlin
PHP
Rust
- async-openai(開発者:64bit)
Scala
Swift
- AIProxySwift(開発者:Lou Zell 氏)
- OpenAIKit(開発者:dylanshine)
- OpenAI(開発者:MacPaw)
Unity
Unreal Engine
- OpenAI-Api-Unreal(開発者:KellanM)
その他の OpenAI リポジトリ
- tiktoken - トークン数の計算
- simple-evals - シンプルな評価ライブラリ
- mle-bench - 機械学習エンジニアの業務を担うエージェントを評価するライブラリ
- gym - 強化学習ライブラリ
- swarm - オーケストレーションを学ぶためのリポジトリ