こんにちは。
株式会社Azoopで開発をしている真面目で誠実なエンジニアのokamuraです。
ChatGPTを使って何かできないかな?と思っているところに、ちょうど活用できそうな場面に遭遇したので、サービスに組み込んでみました。
どんなサービスに組み込んだ?
現在Azoopで提供しているトラッカーズマネージャーという運送会社向けのサービスに組み込みました。
具体的な機能の内容
トラックの修理整備記録データをシステムに入力する際に、システム側に用意されている修理整備箇所カテゴリのどれに該当するかを推測する、という機能です。
図のように、修理整備記録の請求書に記載されている内容を見て該当するカテゴリを選択するのですが、専門知識を持ったユーザでないと選択が難しい場合があります。
そのような場合に、質問するとどのカテゴリに入るか推測して教えてくれる補助機能があると便利そう、という要望がカスタマーサクセスの方から出ていました。
ChatGPT使えそう!と思ったので、質問するとどのカテゴリに入るか推測して教えてくれる補助機能を、ChatGPTのAPIを組み込んで作ってみました。
機能としてはシンプルで、単語を受け取って、ChatGPTのAPIを使ってカテゴリを推測し、推測した結果を返す、というものです。
実装の内容
ChatGPTのAPIでは、system、assistant、userという3種類のロールでメッセージを渡すことができます。
system
- ChatGPTに役割や指示を与える
assistant
- ChatGPTとの今までのやりとりを与える(今までのやりとりを踏まえた上で答えてくれる)
- APIではインタラクティブなやりとりはできず、過去のやりとりからの文脈を判断して答えることができないので、過去のやりとりが必要な場合に必要となる
user
- ChatGPTにユーザとしてのメッセージを与える
今回は、assistantは不要だったので、systemとuserのロールでメッセージを渡しています。
systemロールでは、下記のような指示をいくつか与えています。
- あなたはトラックの修理整備について詳しいです
- 与えられる単語に対して、どの選択肢が近いかを「AAA、BBB、CCC」の選択肢の中から答えてください。
userロールでは、ユーザから入力された単語を与えています。
まとめ
以上が、ChatGPTのAPIをサービスに組み込んでみた例でした。
今回は部分的に小さい規模でAPIを組み込んだのみでしたが、ChatGPTの一歩目としてはやれて良かったと思います。
今後もChatGPTの使いどころ探していきたいです。まだ公式のAPIは出ていないようですが、Code Interpreterもいろいろ使いどころありそうで気になります。