見出し画像

GPT-4o-miniが使いたいので、無理やりアプリを作ってみた

趣味でプログラミングを学び始めて10か月になるリスキリングおじさんです。先週、唐突にGPT-4o-miniが発表されました。何かに使いたい!でも、活かせる場面がない!と思っていましたが、社内でアンケートの自動化ができないかという相談があったので、4o-miniを試すついでにPythonで作ってみました。

アンケートのテストデータは以下の通りです。

ペルソナ,感想
田中太郎(25歳),音楽フェスのラインナップが素晴らしく、どのアーティストも最高のパフォーマンスを見せてくれました。一つ一つの演奏が特別で、感動的な瞬間がたくさんありました。特に、大好きなバンドのライブは一生忘れられない経験になりました。
鈴木花子(30歳),音響設備が完璧で、どのステージでもクリアな音が楽しめました。次回もぜひ参加したいです。フェス全体の雰囲気もとても良く、音楽に包まれた一日を過ごすことができました。家族や友人と一緒に楽しめるイベントだと思います。

音楽イベントをテーマに、アンケートに答えた参加者の名前と感想を92件分用意しました。

個人情報を送らないために、感想のみを抜き出し、感想が肯定的か否定的かを示すとともに、感想を要約して一文で表示することにしました。また、この内容をAIに読み込ませて、分析する機能も追加しました。

4o-miniに対して、以下のような指示を与えました。

prompt1 = "#入力された内容を肯定的か、否定的か表示してください。例:肯定的"
prompt2 = "入力された内容を日本語で一言に要約して。"
prompt3 = "入力された回答を分析し、主な意見を箇条書きで表示するとともに、イベントの主催者として次に何をするべきかも表示してください。"

いつものようにChatGPTに相談して作りました。最初の相談内容は以下のようなもので、ここから徐々に機能を追加していきました。

csvファイルのA1セルに対してAIで指示を与え、その回答を隣のセルに追加するアプリをフラスクで作ってください。画面は、プロンプトの入力画面があります。ボタンを押したら任意のcsvファイルを開き、実行ボタンを押したら、A1セルからAアスタリスクまでプロンプトの内容に応じた処理を続けてください。その際、AIへの指示を終わったら選択したファイルと同じディレクトリ内にファイルを自動で保存してください。作業中は作業中と表示し、保存したら保存したといってください。作業中は進行状況がわかるようにしてくdさい。空白に至ったら処理を止めます。AIは以下のサンプルコードを使ってください。

##サンプルコード
from openai import OpenAI
system_prompt="AIへの指示" # テキストボックスの内容を反映
user_message="A1の内容" #A1から空白まで順番に実行
 response = client.chat.completions.create(
            model="gpt-4o-mini",
            messages=[{"role": "system", "content": system_prompt},
                      *chat_history,
                      {"role": "user", "content": user_message}],
            #max_tokens=4000  # ここで最大トークン数を設定
        )
answer = response.choices[0].message.content #この内容を対象の隣のセルに入れる。

結局、5時間ぐらいやり取りして完成したアプリがこちらです。

TOP画面
肯否定的分類と要約後の画面
肯否定的分類と要約後を保存したcsvファイル
分析後の画面

使ってみた感想

アンケートの分類と要約ですが、全93件でかかった時間は1分55秒。1件あたり1秒ちょっとです。その後の分析には12秒かかりました。3000件の処理だと、要約に約1時間、分析に6分かかる計算です。時間がかかるように思えますが、放っておけば完了するので楽ですね。

こういったアプリは世間にたくさんあると思いますが、ChatGPTを使えば気軽に作成・カスタマイズできるのがいいですね。早くて安いGPT-4o-miniは、アンケートを取ったけど手付かずの人にとって救世主になるかもしれません。


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