見出し画像

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,次回予告

次回は、何度もチャットを繰り返し、本格的な会話アプリを作成していきます。お楽しみに~。

こんな感じ

この記事を読んで「スキ」をしていただくと次回の記事執筆の大きなモチベーションになりますので、是非お願いします。また、ご意見やご質問などありましたら、遠慮なくコメントをお願いします

この記事が皆様のお役に立てますように。

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?