[AI]OpenAIアカウント作成からAPI利用まで


OpenAI公式サイトでアカウント登録後、5ドル分の無料クレジットが付与される。
有効期限は3ヶ月と短めなので、集中して利用できるタイミングで登録するのが良い。

問題は支払い方法がクレジットカードのみということ。
過去に個人情報を流出させている経緯もあることだし、ここは敷居となる。
無料クレジットを利用するだけであれば登録不要。

OpenAIから一部のChatGPTユーザーの個人情報が流出 | TECH+(テックプラス) (mynavi.jp)

コミュニティでも言われているように、PayPalくらいサポートして欲しい。

アカウント登録

OpenAI

OpenAIの公式サイト(英語)でアカウントを作成する。

メニューの[API Document]をクリックし、右上にある[Sign Up]をクリック。
アカウントはSSOを利用できる。
GoogleやAzure ADのアカウントを経由するのが手っ取り早い。

追加で氏名、電話番号(確認コード送付あり)を登録後、ログイン状態になる。

APIキー登録

右上にあるの自分のアカウントをクリックし、[View API keys]をクリック。

[Create new secrets]をクリックし、空の状態で[Create secret key]をクリックすれば、自動的にシークレットが生成される。
尚、後からAPIキーをコピーすることはできないので、生成後はコピーしてどこかに控えておくと良い。

アクセスする際に組織IDが必要になるので、左のメニューにあるORGANIZATIONの[Settings]をクリックし、Organization IDの内容も控えておく。

モデル一覧取得

API Reference – OpenAI API

サンプルは項目別にPython、Node.jsの順に混ぜて書いてあるので少し分かりづらい。

ひとまずNode.jsのサンプルに手を加えたコードで、APIの疎通確認を実施。
.envにORGANIZATION_IDとOPENAI_API_KEYをセットして実行。

import dotenv from "dotenv";
import { Configuration, OpenAIApi } from "openai";
dotenv.config()
const configuration = new Configuration({
    organization: process.env.ORGANIZATION_ID,
    apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.listEngines();
console.log(JSON.stringify(response.data))

実行結果、次のレスポンスが取得できたので、アクセスはOK。

{
    "object": "list",
    "data": [
        {
            "object": "engine",
            "id": "whisper-1",
            "ready": true,
            "owner": "openai-internal",
            "permissions": null,
            "created": null
        },
        ...(中略)...
        {
            "object": "engine",
            "id": "davinci-similarity",
            "ready": true,
            "owner": "openai-dev",
            "permissions": null,
            "created": null
        }
    ]
}

Makeと組み合わせると全自動で色々できるらしい。
UNIXやLinuxでお馴染みのmakeではなく、ノーコードのサービス。
紛らわしいから、名前を被らせるのは止めて欲しいが。

Make | Work the way you imagine

最初はAzure OpenAI Serviceを利用しようと思ったが、こちらはMicrosoftへの利用申請が必要。
申請フォーマットを眺めて項目について調べた感じ、法人格でないときつそうな雰囲気。
よって、OpenAI公式を利用した。