Python版 ChatGPTと話そう!(その1)
OpenAIのGPT-4を使って新しいPythonアプリを作ります。動作確認にはJupyter Notebookを使いました。
ここで作るのはChatGPTと話そう!(その1)としてChatGPTに入力したプロンプトを送って返答を画面に表示するアプリです。1回で動きました。GPT-4はPythonが得意みたいですね。
GPT-4とのやり取り
プロンプト
次の機能を持つGUIアプリをPythonで作る方法をステップ1からステップ3にしたがって教えてください。初心者でもわかるように詳しくお願いします。
機能:
1. 入力したテキストをChatGPTに送信。モデルはgpt-3.5-turbo
2. 戻ってきた返信を画面に表示ステップ1:細かい機能の説明
ステップ2:作り方の概略
ステップ3:初めての人でもわかるような詳しい作り方。ChatGPTとの通信部分はAPIのことを知らない人にもわかるように説明してください
返答
この説明では、Pythonの基本的な知識と、OpenAIのAPIへのアクセス方法を既に知っていることを前提とします。また、GUIライブラリとしてtkinterを使用します。OpenAIのAPIキーを取得するためにはOpenAIのウェブサイトで登録する必要があります。
ステップ1:細かい機能の説明
このGUIアプリには以下の機能が含まれます:
- テキスト入力フィールド:ユーザーがChatGPTに送信するメッセージを入力するための場所です。
- 送信ボタン:このボタンをクリックすると、入力フィールドのテキストがChatGPTに送信されます。
- テキスト表示エリア:ChatGPTからの応答が表示される場所です。
ステップ2:作り方の概略
- GUIを構築するために、Pythonの組み込みライブラリであるtkinterを使用します。
- テキストフィールド、送信ボタン、テキスト表示エリアを含むウィンドウを作成します。
- 送信ボタンがクリックされたときに実行される関数を作成します。この関数では、テキストフィールドの内容を取得し、ChatGPTに送信します。また、ChatGPTからの応答を取得し、テキスト表示エリアに表示します。
ステップ3:初めての人でもわかるような詳しい作り方
最初に必要なモジュールをインポートします。
import tkinter as tk import openai
次に、OpenAIのAPIキーを設定します。
openai.api_key = 'your-api-key'
tkinterでウィンドウを作成します。
window = tk.Tk() window.title("Chat with GPT-3.5-turbo")
入力フィールド、送信ボタン、テキスト表示エリアを作成します。
entry_field = tk.Entry(window, width=50) entry_field.pack() response_area = tk.Text(window, height=10, width=50) response_area.pack() send_button = tk.Button(window, text="Send", command=send_message_to_gpt) send_button.pack()
ここで、
send_message_to_gpt
関数を定義します。def send_message_to_gpt(): message = entry_field.get() entry_field.delete(0, tk.END) response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": message} ] ) response_area.insert(tk.END, "User: " + message + "\n")
この関数では、まずユーザーからのメッセージをテキストフィールドから取得します。そして、そのメッセージをChatGPTに送信します。応答が戻ってきたら、それをテキスト表示エリアに表示します。
最後に、GUIを表示するためにメインループを実行します。
window.mainloop()
以上で、指定された機能を持つ基本的なGUIアプリが作成できます。ただし、このコードはあくまで基本的なものであり、エラーハンドリングなどは含まれていません。また、APIキーはソースコード中にハードコーディングしない方が安全です。実際のアプリケーションでは、環境変数などからAPIキーを読み込むようにすることをお勧めします。
また、このコードはgpt-3.5-turboモデルの使用方法を示すものであり、モデルの詳細な設定やパラメータの調整についてはOpenAIの公式ドキュメンテーションを参照してください。
プロンプト
コードを全部表示して