chatGPTのAPIなどで使うopenAIのAPIキーを環境変数に登録して管理する方法をまとめます。openAIのAPIでは認証にAPIキーを使用します。openAIではAPIリクエストに応じて課金される仕組みのため、APIキーの管理は非常に重要です。もし、間違えて、コード内に記載したまま、オンラインに公開してしまうと、他人に使われてしまう可能性があります。そこで、ここでは誤ってAPIキーをオンラインに上げないようにWindowsのコントロールパネルの環境変数で管理する方法をまとめます。
OpenAI公式の参考ページ:Best Practices for API Key Safety
APIキーを取得する
openAIのAPIキーはopneAIにユーザー登録して、ログインをすると確認できます。右上の組織名をクリックし、「View API keys」を選択し、「+Create new secret key」を選択すると、APIキーが表示されるので、その値をメモしておきます。


APIキーは一旦メモ帳などに貼付して、ローカル内に保存しましょう。

APIキーを環境変数に登録する
それでは、APIキーをWindowsの環境変数に登録していきます。まず、Windowsの「設定」を開いて、検索窓から「環境変数」として出てくる「環境変数を編集」を開きます。

検索窓から「環境変数」と入れると「環境変数を編集」と「システム環境変数の編集」が出てきます。今回は、ユーザー環境変数の設定なので、「環境変数を編集」を選択します。

環境変数のウインドウが開きますので、上段の「ユーザー環境変数」の「新規」をクリックします。

新しいユーザー変数の登録画面が出てきますので、変数名として、例えば、「OPENAI_API_KEY」として入力し、変数値は先ほどコピーしたAPIキーを貼り付けます。

この時点でPCを再起動します。これで、Pythonなどのコード中で環境変数「OPENAI_API_KEY」でOpenAIのAPIキーを呼び出すことができるようになりました。
Pythonでユーザー環境変数を使う
Pythonの中でユーザー環境変数を使ってみます。Pythonの中でユーザー環境変数を使うにはosモジュールを使います。os.environ[‘ユーザー環境変数名’]で環境変数を呼び出すことができます。
例えば、OpenAIのAPIを使うには以下のようにします。
import os
import openai
# openai.api_keyにOpenAIのAPIキーを入れる
openai.api_key = os.environ['OPENAI_API_KEY']
以上、APIキーをWindowsのコントロールパネルのユーザー環境変数に登録して安全に使う方法を説明しました。
他にもいろいろ記事をあげているので、良かったらご覧ください。不明な点があれば、投稿フォームからご質問ください。
コメント