ChatGPT (OpenAI) API入門シリーズ① はじめに

ChatGPT (OpenAI) API入門シリーズ① はじめに

こんにちは!KCompanyの八木です。 本日からOpenAI APIのリファレンス入門シリーズをやっていこうと思います。 基本的に本家のAPIリファレンスの内容にそってやってみた(内容をまとめてみた)、という内容になります。 一回目の今日はGETTING STARTEDの内容をやってみようと思います。 それではっそくいってみましょう!

開発環境

実際の内容に入る前に、私の開発環境についてお伝えしておきます。

  • OS: MacOS
  • Node.js: 22.1.0

ですので、原則としてNode.jsを使って説明していきます。ただし、説明の進行上、Curlを使ったものも含まれます。(APIリファレンスには他にもCurlやPythonを使ったバージョンもあります。Curlバージョンは別途またまとめるかもしれません。Pythonについては、筆者が今のところ利用するシーンが少ないため、劣後になっています。) 本投稿では、Node.jsなどの開発環境自体の構築については割愛しています。

イントロダクション

OpenAI APIは、HTTPリクエストを通じてAPI通信が可能です。基本的にどのようなプログラミング言語にも対応しているようですが、代表的なものとしてNode.js, Pythonなどがあります。開発者コミュニティによって、コミュニティライブラリも作られています。

例えばNode.jsであれば、以下でインストールが可能です。

npm install --save openai
# or
npm install openai@^4.0.0

認証

APIキー

OpenAI APIを使うには、APIキーが必要です。APIキーを使って、API利用の認証を得ることができます。APIキーは外部に漏らさないよう慎重に管理しましょう。

APIキーは、ユーザーアカウントやサービスアカウントごとに作成できます。サービスアカウントは主に本番環境へのアクセスを提供するために使用されます。

各APIキーは1.プロジェクトキー、2.ユーザーキーがあります。

  1. プロジェクトキー
    1. 特定のプロジェクト向け
    2. ユーザーキーよりセキュリティ上、優れている
  2. ユーザーキー
    1. 従来のAPIキー。ユーザーにひも付き全組織・全プロジェクトにアクセスできる
    2. 広範なアクセス権限の反面、セキュリティ上のベストプラクティスとしては非推奨

APIリクエスト時は常に以下のHTTPヘッダーを含める必要があります。

Authorization: Bearer OPENAI_API_KEY

組織とプロジェクト(オプション)

ユーザーキーを利用している場合、APIリクエストに特定の組織やプロジェクトを指定するためのヘッダーを追加する必要があります。

APIキーの取得

APIキーの取得には、OpenAIアカウントを作成・ログインし、APIキーのページに遷移してください。

Create new secret keyボタンを押下し、適切な名前等を設定してください。

APIキーはご自身で適切な場所に秘匿し保存してください。

APIキーの設定(Node.js/MacOS)

以下、Quickstartのドキュメントを参考にしています。

全てのプロジェクトでAPIキーを設定することで、SDKが自動的にAPIキーを検出してくれるため、コードを書く必要がなくなります。以下、詳細の設定手順です。

  1. ターミナルを開く
    1. アプリケーションフォルダ内にあるターミナルを開くか、Spotlight(Command + Space)を使って検索します。
  2. bashプロファイルを編集
    1. 以下のコマンドを使用して、プロファイルファイルをテキストエディタで開きます。新しいバージョンのMacOSでは~/.zshrcを使用します。
    nano ~/.bash_profile
    # or
    nano ~/.zshrc
  3. 環境変数を追加:
    1. エディタで、以下のようにAPIキーを設定します。your-api-key-hereの部分を実際のAPIキーに置き換えてください。
    export OPENAI_API_KEY='your-api-key-here'