ChatGPTとの会話アプリを作ろう#1
最近のAIブームは留まることを知りません。
ChatGPTのような文章生成AIに始まり、最近はイラストや音楽までもAIで生成できるみたいですね。目まぐるしく変化する時代です。このビッグウェーブに乗らない手はありません。
というわけで、今回は、Pythonを使ってChatGPTとの会話アプリを作成してみます。
「いや、ブラウザでchatGPTにアクセスすればいいんじゃないの?」
という意見は一旦脇に置いておきます。この会話アプリには、ブラウザとは一味違った面白さがあるのです。
1,環境構築&使い方
まず、pythonを動かすための最低限の環境構築をしていきます。
pythonのダウンロードはこちらから。
テキストエディター(VScode)も用意しましょう。無料です。
これで最低限pythonを動かす準備が整いました。
次に、python上でAPIを動かすための初期設定をしていきます。
こちらの公式ドキュメントが詳しいです。
こちらのコマンドをPowerShellまたはコマンドプロンプト上で実行します。
(タスクバーの「検索」に「PowerShell」または「cmd」と入力)
pip install openai
これでopenaiがインストールされます。
次に、chatGPTをpython上で動かすためのAPIを取得します。
APIの取得はこちらから。
https://platform.openai.com/organization/api-keys
アカウントを作成したときに5ドル分が無料で貰えるみたいですが、私はあいにく失効させてしまったので買いました。最近の円安が痛いです。
ここで取得したAPIキーは大切に保管しておきましょう。ここで使います。タスクバーの「検索」に「環境変数を編集」と入力し、環境変数の設定を行います。ユーザー環境変数の「新規」をクリックし、変数名にOPENAI_API_KEY
と入力し、変数値を先ほど取得したAPIキーとします。
これでAPIを使うことが可能になります。
次に、python上でAPIを使用していきます。サンプルとして、メッセージとシステムメッセージを引数としてchatGPTの回答を返す関数を置いておきます。これをお好きなようにアレンジしてみてください。
import openai
def chat_completion(message,system_message):
completion = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{
"role":
"system",
"content":
system_message
}, {
"role": "user",
"content": message
}],
)
return completion.choices[0].message.content
必要に応じてmodelの変更も行ってください。今回は比較的安価なgpt-3.5を用いていますが、やや高価なgpt-4を使うと回答の質が良くなります。
ここのmessageはchatGPTに伝えるメッセージです。世間で「プロンプト」と呼ばれているものですね。特に解説は要らないかと思います。
system_messageは、どのような雰囲気・トーンで回答を返すか設定するメッセージです。例えば・・・
「あなたは中年のおじさんです。常に上から目線で意見をします。」
とすれば常におじさんのような回答が返ってきますし、
「あなたは16歳のゲームと漫画が好きな女の子です。」
とすればそれらしい回答が返ってきます。
この関数を記述した後は、
message = "こんにちは!"
system_message = "あなたは70歳のおじいさんです"
print(chat_completion(message,system_message))
などと記述してこの関数を呼び出せばOKです。
print()は出力を行う関数です。よく使うので覚えておきましょう。
ここまで書けたらconsole上などでプログラムを実行すると良いでしょう。
あるいは保存した後にPowerShellを開いて、
cd (作業フォルダ名)
とコマンドを入力し、
python (ファイル名).py
とコマンドを入力することでもプログラムを実行可能です。
2,APIの良いところ・悪いところ
ここまでOpenAIのAPIをPython上で呼び出す方法について解説してきました。皆さんお気づきかと思いますが、この方法はsystemをいじれるという点で、ブラウザー上のchatGPTにはない利点があります。また、拡張性も段違いです。今回紹介した関数を用いることで、任意のpythonのプログラム・アプリケーション上でchatGPTを呼び出すことができます。
一方で、有料なのがデメリットとして挙げられるでしょうか。gpt-3.5なら、たくさん使用しても(私の場合)せいぜい1~2円程度と大きな負担にならないのですが、gpt-4の場合、1回使用しただけで1.5円程度(2024年6月の為替レートによる)かかります(勿論、プロンプトや回答文字数によります)。
ご利用は計画的に。
3,次回予告
次回は、何度もチャットを繰り返し、本格的な会話アプリを作成していきます。お楽しみに~。
この記事を読んで「スキ」をしていただくと次回の記事執筆の大きなモチベーションになりますので、是非お願いします。また、ご意見やご質問などありましたら、遠慮なくコメントをお願いします。
この記事が皆様のお役に立てますように。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?