【エラー】openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable

error_image

OpenAIのChatGPTを活用しようとした時に、openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variableというエラーに直面している方へ。この記事は、そのエラーの原因と対処法をわかりやすく解説します。

この記事は2024/03/20段階での調査のため、OpenAIによるAPIキーの設定方法に仕様変更が入った場合、陳腐化する恐れがある内容になっているため、その旨をご理解の上参考にしていただければ幸いです。

目次

エラーの日本語化:

openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable

翻訳すると下記のようになります。

openai.OpenAIError: api_keyクライアント・オプションは、クライアントにapi_keyを渡すか、OPENAI_API_KEY環境変数を設定することで設定しなければならない。

エラーの原因:

このエラーメッセージは、OpenAI APIを利用するには、APIキーをクライアントオプションとして設定する必要があることを示しています。つまり、APIキーが設定されていない、または不正確な状態でAPIにアクセスしようとしたときに表示されます。

対処法:

このエラーを解決するためには、OpenAIのAPIキーを適切に設定する必要があります。基本的に、以下の2つの方法があります。

  1. コード内でAPIキーを直接設定する。
  2. 環境変数OPENAI_API_KEYを設定する。

ただしAPIキーという金銭に関わる値の固定値をコード上に設定するのは推奨できません
コード以上に漏洩を防ぐ必要がある機密情報になるので、より漏れにくい対策を行う必要があります。
そのため、今回は環境変数に設定する方法のみを解説します。

環境変数OPENAI_API_KEYを設定する

Terminalやコマンドプロンプトで以下のコマンドを実行し、APIキーを環境変数として設定します。

  • docker環境:

.envファイルをdocker-compose.ymlと同階層に作る場合、自動的に.envファイルは読み込まれます。
以前の記事ではdocker-compose.ymlに直接書いていましたが、コード管理の観点から下記の書き方がお勧めです。

docker-compose.yml

version: "3"
services:
  python:
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
    tty: true
    volumes:
      - ./src:/app/src

.env

OPENAI_API_KEY=あなたのAPIキーをここに書いてください
  • Linux/Mac環境:
export OPENAI_API_KEY='あなたのAPIキーをここに書いてください'
  • Windows環境:
set OPENAI_API_KEY='あなたのAPIキーをここに書いてください'

ここでも、'あなたのAPIキーをここに書いてください'の部分には、実際のAPIキーを使用します。

まとめ

“openai.OpenAIError: The api_key client option must be set”のエラーは、OpenAI APIキーが適切に設定されていないことによって発生します。上記の方法でAPIキーを設定することで、このエラーを解決し、OpenAIの強力な機能を自在に活用する一歩を踏み出しましょう。

OpenAIとChatGPTの探求は、Pythonという強力なプログラミング言語を通じて、無限の可能性を秘めています。このエラーを克服し、あなたのプロジェクトや研究にOpenAIの技術を効果的に組み込んでいくことを楽しみにしています。

もしもChatGPTを使った仕事を依頼したいといった場合は、お問い合わせページよりご連絡ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

アキレアソフト代表の大山亮です。

週休完全4日の会社を設立するべく色々事業を進めています。
スキル:EM/PjM/フルスタックエンジニア/1on1/管理職

週休完全4日の野望に協力してくれる方も募集しています。
投資も趣味でやってます。

コメント

コメントする

目次