このページでは、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 を使用するには、公式の OpenAI SDK for Python を利用できます。まず、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 への簡単な 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.58.0</version>
</dependency>Responses API への簡単な 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 リポジトリをご覧ください。
SDK のその他の機能やオプションについては、GitHub にあるライブラリの README をご覧ください。
OpenAI は、Go 言語向けの API ヘルパーを現在ベータ版で提供しています。以下のコードでライブラリをインポートできます。
import (
"github.com/openai/openai-go/v3" // imported as openai
)Responses API への最初の 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 リポジトリをご覧ください。
SDK のその他の機能やオプションについては、ライブラリの GitHub リポジトリにある README をご覧ください。
Ruby で OpenAI API を利用するには、公式の OpenAI SDK for Ruby を使用できます。まず、アプリケーションに 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'ファイルからの構造化データの抽出、画像生成、音声生成、jq などのシェルツールと API 呼び出しの組み合わせといった、ターミナルで繰り返し実行するワークフローに CLI を活用できます。
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 上の OpenAPI 仕様のリポジトリをウォッチすると、OpenAI API の変更に関する最新情報を随時受け取れます。
OpenAI は、これらのプロジェクトの正確性やセキュリティを検証していません。 ご自身の責任で使用してください。
Clojure
- openai-clojure(作者:wkok)
Dart/Flutter
Delphi
- DelphiOpenAI(作者:HemulGM)
Elixir
Kotlin
PHP
Rust
- 64bit による async-openai
Scala
Swift
- Lou Zell による AIProxySwift
- dylanshine による OpenAIKit
- MacPaw による OpenAI
Unity
Unreal Engine
その他の OpenAI リポジトリ
- tiktoken - トークン数のカウント
- simple-evals - シンプルな評価ライブラリ
- mle-bench - 機械学習エンジニアの役割を担うエージェントを評価するライブラリ
- gym - 強化学習ライブラリ
- swarm - オーケストレーションを学ぶためのリポジトリ