OpenAIのAPIキーを利用して、ChatGPTと対話する簡単なアプリを作成しようとした際に、うまく動作しない問題が発生しました。
本記事では、その原因と解決策を詳しく解説します。
目次
問題の概要
PythonとOpenAI APIを使用して、ChatGPTと対話するアプリを開発中に、
コードがエラーに直面しました。
最新バージョンのOpenAI APIライブラリを使用しても、ChatGPTがうまく動作せず、
試行錯誤の末、Python環境で特定のOpenAI APIバージョンにダウングレードすることで解決しました。
ここではChatGPTを活用して、まずは簡単な会話チャットを作ることを目指します。
うまくいかなかった原因
クレジット設定の不足
これまでうまくいかなかった要因として、見落としていた点がありました。
OpenAIのAPIを利用するためには、アカウントにクレジットが必要です。
クレジットが不足していると、APIリクエストが拒否され、エラーが発生します。
ライブラリのバージョン違い
OpenAIのPythonライブラリは頻繁に更新されており、バージョンによってAPIの使用方法が異なります。
最新のコードをそのまま実行すると、ライブラリのバージョンが合わずにエラーが発生するみたいです。
解決策の詳細
クレジット設定の確認方法
- OpenAIの公式サイトにログイン: OpenAI Dashboard にアクセスし、アカウントにログインします。
- クレジット状況を確認: ダッシュボードで現在のクレジット残高を確認します。
- クレジットを追加: 必要に応じて支払い情報を登録し、クレジットを購入します。
AIとの会話だけではこういったクレジットが必要という部分を見落としてしまったりするので、
自分でも調査を行う重要性があります。
トークンとコストについて
OpenAI APIでは、やり取りに使用される「トークン」に基づいて料金が発生します。1トークンは1単語の約半分に相当し、入力と出力のトークン数に応じて課金されます。
クレジットをチャージしたら、トークンの量に応じて徐々にクレジットが減っていきます。
- GPT-3.5: 1,000トークンあたり約 $0.002
- GPT-4: 1,000トークンあたり約 $0.03 – $0.06
例えば、質問で100トークン、応答で200トークン使用した場合、合計300トークンが使用され、GPT-3.5の場合、コストは約 $0.0006(約0.07円)です。
OpenAIライブラリのバージョンを固定する方法
特定のバージョンのライブラリをインストールすることで、コードが正しく動作するようになりました。
ターミナルで以下のコマンドを実行します。
手順:
- 既存のライブラリをアンインストール:
pip uninstall openai
アンインストールを複数回実行し、「
WARNING: Skipping openai as it is not installed.
」と表示されるまで繰り返します。 - 特定のバージョンをインストール:
pip install openai==0.28.0
- インストールされたバージョンを確認:
pip show openai
バージョンが
0.28.0
であることを確認します。
動作したコードの紹介
以下のコードを使用することで、ChatGPTとの対話が可能になりました。
# 環境変数からAPIキーを取得
openai.api_key = os.getenv(“OPENAI_API_KEY”)
def ask_gpt(question):
# ChatCompletion APIを使用してGPTにリクエストを送信
response = openai.ChatCompletion.create(
model=“gpt-3.5-turbo”,
messages=[
{“role”: “system”, “content”: “You are a helpful assistant.”},
{“role”: “user”, “content”: question}
],
max_tokens=100
)
# 応答を取得
return response[‘choices’][0][‘message’][‘content’]
# ユーザーの質問を取得
user_input = input(“チャットGPTに質問を入力してください: “)
# GPTに質問を送信し、応答を表示
gpt_response = ask_gpt(user_input)
print(“チャットGPTの応答:”, gpt_response)
コードのポイント
- APIキーの設定:
os.getenv("OPENAI_API_KEY")
で環境変数からAPIキーを取得しています。環境変数が未設定の場合は、直接APIキーを文字列として代入してください。
- ライブラリのバージョン固定:
openai==0.28.0
を使用することで、openai.ChatCompletion.create()
メソッドが利用可能になります。 - レスポンスの取得:
response['choices'][0]['message']['content']
を使って、ChatGPTからの応答を取得しています。
※ちなみに、コードがうまく実行されず、エラーが出た場合はクレジットは消費されないようです。
まとめ
OpenAIのAPIを使用してChatGPTアプリを開発する際に重要なポイントは以下の通りです。
- クレジットの確認: APIを利用するためには、アカウントに十分なクレジットが必要です。
- ライブラリのバージョン管理: 使用するコードとライブラリのバージョンを一致させることで、エラーを防ぐことができます。
- 適切なAPIキーの設定: 環境変数や直接代入など、APIキーを正しく設定することが重要です。
これらのポイントを押さえることで、スムーズにChatGPTとの対話アプリを開発することが可能になります。
【クリエイタープロフィール pekopoko】
日常を・心を豊かにする作品を届けたいと願うハンドメイド作家のpekopokoです。
レザークラフトやマクラメ編みを取り入れ、リラクゼーション効果のある作品を一つひとつ心を込めて手作りしています。
ハンドメイド歴10年、販売士二級の現役ショップ店員兼副業作家です
現在はメタバースにハンドメイドショップを作りたいと思い、コツコツと勉強中です。
作品はオンラインショップでご覧いただけます。
BASEでオリジナルサイトを開設しました!
物作りで日常を明るく♪をコンセプトに活動中のハンドメイド作家です。minneやメルカリショップス 、Creemaにてマクラメ・レザーブレスレットなどを中心に出品中です。
コメント