コンテンツ
はじめに
今回は研究にGPTを役立てる方法として廃液分類を自動で行ってくれるツールを作成していきます。
My GPTsとは?
My GPTsは、OpenAIが提供するカスタムGPT作成ツールです。このツールを使うことで、自分だけのカスタムGPTを作成し、特定のタスクに特化したAIモデルを構築できます。以下に、My GPTsの基本的な使い方を説明します。
My GPTsの作成手順
OpenAIのアカウント作成
まずはOpenAIの公式サイトにアクセスし、アカウントを作成します。
アカウントを作成後、ダッシュボードにアクセスします。
My GPTsのセットアップ
ダッシュボードから「My GPTs」を選択します。
「+Create」をクリックし、作成ウィザードに従います。

データのインポートとトレーニング
knowledgeにあらかじめ覚えさせておきたいデータを入力します。pdfでもいいですが、画像の認識力は高くありません。テキストファイルをアップロードすることをお勧めします。さらに言えばknowledgeにアップロードするよりもInstructionに直打ちした方が精度が上がります。
今回は以下のデータを学習させていきます。
https://www.env.tohoku.ac.jp/syori5.html
文字への書き起こし
pdfの場合文字起こしをする必要があります。おすすめの方法を次の2つです。
・wordを使う。word上でpdfを開くことで文字をコピペできる形にすることができます。
・googleレンズの文字起こし機能。wordでうまく文字お越しができない場合googleレンズを使って文字おこしがおすすめです。
My GPT用にデータの修正
文字起こししたデータをGPTsが読み込みやすい形に修正します。GPTを使います。

このようなプロンプトで、文字起こした内容+MyGPTが取り込みやすい形式、テキストにコピペできる形で出力してもらいます。最終的には次のようなテキストファイルが完成しました。
精度の向上
精度の向上のために区分早見表も読み込ませます。

まずはこのpdfをchatgptに入力し、MyGPTに読み込ませるためのひな型を作成します。

あとは、しっかりとフローを説明できているか、誤りがないか人力で修正していきます。最終的には次のようなテキストファイルが完成しました。
ファイルのアップロード

作成したテキストファイルをknowledgeにアップロードします。一応pdfもアップロードしています。
knowledgeにアップロードするよりもInstrucitonに直接アップロードした方が精度が上がることがわかりました。
Instructionの設定【重要】

指示に従って残りの項目を埋めます。InstructionsはどのようにGPTが対応するかを記載します。今回は次の通りです。
工夫した点①:フローを順番に実行してくれないことがあったので次のプロンプトで対応しました。
プロンプト①:廃液区分フローを1から実行し、それぞれの質問の回答によって次の質問を適切に選択して、正しい分類を特定してください。
Step by stepで思考してください
工夫した点②:どのようなフローで判断したかわかるようにしました。
プロンプト②:フローは上から実行し、適切なステップに移動してください。実行したフローとどのように判断したか詳細に出力してください
工夫した点③:これを入れたほうが精度が高い気がします。(真偽は不明)
プロンプト③:その回答が本当に正しいか、もう一度考えてください。
MYGPTのアップロード

右上のupdate・uploadボタンから公開・更新します。
操作は以上です。
実際に使用してみる
実際に使用したところ95%ぐらいで正しく動いています。課題として、複数の溶液が入っている場合、いくつかの分類を提示してきます。一番上の分類が正しいことが多いですが、もっとプロンプトを工夫すれば修正できそうですね。
↓↓↓作成した廃液分類GPTs↓↓↓
最後に
自分もそんなにGPTsに詳しいわけではないので試行錯誤して作成しました。。。結局シンプルなInstructionになりましたが5時間くらいかかりました笑
knowledgeに入れるよりもInstructionに入力した方が精度が上がるのは大きな発見でした。
あとは期待した動作をするまでテストを繰り返してプロンプトを調整していくのが早そうです。
ここまで読んでいただきありがとうございました!