👏
ChatGPTのAPIを使った対話プログラム
以下に、Pythonを使用してOpenAIのAPIと対話するプログラムのサンプルコードと、その解説を提供します。このプログラムは、ユーザーが「exit」と入力するまでChatGPTと対話を続けます。
前提条件:
-
OpenAI APIキーの取得: OpenAIのアカウントを作成し、APIキーを取得してください。
-
Python環境のセットアップ: Pythonがインストールされていることを確認してください。
-
必要なライブラリのインストール:
openai
ライブラリをインストールします。pip install openai
サンプルコード:
import openai
import os
# OpenAI APIキーを環境変数から取得
api_key = os.getenv("OPENAI_API_KEY")
if api_key is None:
raise ValueError("環境変数 'OPENAI_API_KEY' が設定されていません。")
client = openai.OpenAI(api_key=api_key)
def chat_with_gpt():
print("ChatGPTと対話を開始します。終了するには 'exit' と入力してください。")
conversation_history = []
while True:
user_input = input("あなた: ")
if user_input.lower() == "exit":
print("対話を終了します。")
break
conversation_history.append({"role": "user", "content": user_input})
try:
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=conversation_history
)
assistant_reply = response.choices[0].message.content.strip()
print(f"ChatGPT: {assistant_reply}")
conversation_history.append({"role": "assistant", "content": assistant_reply})
except Exception as e:
print(f"エラーが発生しました: {e}")
if __name__ == "__main__":
chat_with_gpt()
実行例:
(venv) PS C:\Users\subma\project\openai-sample> python chat_with_gpt.py
ChatGPTと対話を開始します。終了するには 'exit' と入力してください。
あなた: こんにちは
ChatGPT: こんにちは!お元気ですか?お手伝いできることがあればお知らせくださいね。
あなた: やった!apiを使ったプログラムでchatGPTにアクセスできた!
ChatGPT: 素晴らしいですね! ChatGPTを利用することで、さまざまな面白い会話や情報を得ることができますね。何か具体的なアイデアや質問があれば、お気軽にどうぞ。お手伝いできることがあればお知らせください!
あなた: うん。今日は寝ます。今後ともよろしく!
ChatGPT: 了解しました!良い夢を見てくださいね。また次回お会いできることを楽しみにしています。おやすみなさい!またね。
あなた: exit
対話を終了します。
(venv) PS C:\Users\subma\project\openai-sample>
コードの解説:
-
ライブラリのインポート:
-
openai
: OpenAIのAPIとやり取りするためのライブラリです。 -
os
: 環境変数からAPIキーを取得するために使用します。
-
-
APIキーの設定:
-
os.getenv("OPENAI_API_KEY")
で環境変数OPENAI_API_KEY
からAPIキーを取得します。 - APIキーが設定されていない場合、
ValueError
を発生させます。
-
-
chat_with_gpt
関数:- ユーザーとの対話を管理する関数です。
-
conversation_history
リストでユーザーとChatGPTのやり取りを保存します。 - 無限ループ内でユーザー入力を受け取り、
exit
と入力された場合は対話を終了します。 - ユーザーの入力を
conversation_history
に追加し、openai.ChatCompletion.create
を使用してChatGPTからの応答を取得します。 - ChatGPTの応答を表示し、
conversation_history
に追加します。 - エラーが発生した場合は、エラーメッセージを表示します。
環境変数の設定方法:
APIキーをコード内に直接記述するのはセキュリティ上好ましくないため、環境変数として設定します。以下の方法で環境変数を設定してください。
-
Windows:
- コマンドプロンプトで以下のコマンドを実行します。
setx OPENAI_API_KEY "your_api_key_here"
- 新しいコマンドプロンプトを開き、設定が反映されていることを確認します。
- コマンドプロンプトで以下のコマンドを実行します。
-
macOS/Linux:
- ターミナルで以下のコマンドを実行します。
export OPENAI_API_KEY="your_api_key_here"
- この設定は現在のターミナルセッションでのみ有効です。永続的に設定するには、
~/.bashrc
や~/.zshrc
などのシェル設定ファイルに上記のコマンドを追加してください。
- ターミナルで以下のコマンドを実行します。
Visual Studio Code (VS Code) での実行方法:
-
VS Code のインストール:
- 公式サイトからVS Codeをダウンロードし、インストールしてください。
-
Python 拡張機能のインストール:
- VS Codeを起動し、拡張機能タブから「Python」拡張機能を検索してインストールします。
-
プロジェクトフォルダの作成とコードの配置:
- 新しいフォルダを作成し、上記のコードを
chatgpt_chat.py
などの名前で保存します。
- 新しいフォルダを作成し、上記のコードを
-
仮想環境の作成 (任意):
- ターミナルを開き、以下のコマンドで仮想環境を作成します。
python -m venv venv
- 仮想環境をアクティブにします。
-
Windows:
venv\Scripts\activate
-
macOS/Linux:
source venv/bin/activate
-
Windows:
- ターミナルを開き、以下のコマンドで仮想環境を作成します。
-
必要なライブラリのインストール:
- ターミナルで以下のコマンドを実行して
openai
ライブラリをインストールします
- ターミナルで以下のコマンドを実行して
Discussion