こんにちは!NewCyte合同会社の代表の小嶋です。
NewCyteでは技術に関する情報感度を高め、エンジニアとしてのスキルを伸ばすことを目的に「技術を学び活用できる環境」を大切にしています。
そのため、弊社では代表を含めた全社員が社内開発プロジェクトに取り組んでいます。
そこで今話題の「Chat GPT」のAPIを活用した“LINEチャットボット”を作成してみたので、今回は作成したチャットボットについてご紹介させていただきます。
なぜChat GPTを利用しようと思ったか?
ニュースで頻繁に「Chat GPT」という単語を耳にするようになってきてはいるものの、まだ万人が使うほど普及はしていないと感じています。
会社の方針にもよりますが、情報流出を危惧しChat GPTの利用を制限したり、一方で、生産性の向上のために利用を推進していたり、多くの考えが交錯していることもあって、ChatGPTの利用を躊躇している方も多いと思います。
技術は使い方を間違えれば火のように火事を起こしてしまうこともあるでしょうが、正しく使えば間違いなく人類の文明が一歩進む一助になると信じています。NewCyteはIT会社ということもあり、積極的にChat GPTを活用したいと思っています。その結果、今まで利用を躊躇していた方が弊社のサービスを通じて「技術っておもしろな、悪くないぞ」と思うきっかけになれたらなと思い、ChatGPTを活用したアプリ開発を行うことに決めました。
なぜ “LINE チャットボット” なのか?
私自身、食べることが大好きで料理も嫌いではありません。しかし、レシピを考えることが億劫でなかなか自分から進んで料理をすることはありません。実際、私と同じような考えの方は多くいらっしゃるのではないでしょうか?
そこで、私たちが日常的に使っている「LINE」にChat GPTを組み込んで、手軽にレシピを提案してもらえるツールを作成したら、レシピを考える手間が省け、料理をする方の役に立つのではないかと思い “LINE チャットボット” を作ることにしました。
チャットボットの目的
チャットボットの目的は、Chat GPTのAPIを利用して、ユーザーからの質問に対して料理のレシピを提案することです。これにより、ユーザーはLINEのチャット画面で簡単に料理のアイデアを得ることができるようになります。
LINEとChat GPTの連携方法
LINEチャットボットを開発するために行った内容を簡単に紹介します。
以下の機能の組み合わせによって、ユーザーがLINEチャットボットとメッセージのやりとりをすることが可能になります。
・LINEのMessaging API
・サーバレスのAzure function
・開発言語:Python
次に、Chat GPTのAPIを利用してユーザーからの質問に対して適切なレシピを提案できるようにしました。具体的には、ユーザーがLINEチャットボットに対して送信したメッセージをChat GPTに送信し、Chat GPTからの返答を取得して、それをユーザーに返信する形で実装しました。
・ChatGPT API
LINEチャットボットに実装した「機能」と「特徴」
今回開発したLINEチャットボットは、材料と人数をLINEでメッセージすると、入力した人数分のレシピを3種類提案してくれるように開発しました。
例)「ほうれん草、牛乳、パスタ、ベーコン、卵、2」
せっかくなら健康的な食事を取れるようにしたかったので、各レシピの1人分のカロリーも表示するようにしました。
そして、各レシピの画像に関しても、Googleの画像検索からレシピと合致する画像を取得して表示する機能を搭載しています。
こちらの画像を検索する機能はPythonで個別に作成しています。
ChatGPTは、命令文(プロンプト)を制御することで人格もコントロールすることが可能です。
そこで、今回のチャットボットは「話していておもしろい性格が良いな」と思い、ハイテンションなシェフという設定にしています。
ChatGPTは、基本的にさまざまな質問に答えてくれますが、今回作成したチャットボットはChat GPTの使い方に慣れていないユーザの方が迷わないように、あえてレシピの提案のみに制約を掛けています。
提案されたレシピを実際に作ってみた!
早速、完成したLINEチャットボットを使って料理を作ってみました。
「ほうれん草、牛乳、パスタ、ベーコン、卵、2」と打ったところ、設計した通り3つのレシピを提案してくれました。
今回はカルボナーラを提案されたので、その通り作ってみましたが、実際に作ってみると私の技術不足のせいで卵がダマになってしまい、あまりおいしくないカルボナーラになってしまいました(笑)。
しかし、試行錯誤しながらではあるものの、いつもより楽しく料理をすることができました!
現時点の課題と今後の展望
今回はChat GPTと連携したLINEチャットボットを使ってレシピ提案から実際の料理までを実施しましたが、提案されたレシピの品質にはまだ改善の余地があることがわかりました。今後は入力データの前処理やパラメータの調整を行うことで、より高品質なレシピ提案ができるように改善していきたいと思います。
プロジェクトのまとめ
NewCyteは「楽しみながら技術を学べる環境」を大切にしています。今回のプロジェクトを通じて、私だけでなく社内のメンバーも楽しみながら技術を学ぶことができました。Chat GPTと連携したLINEチャットボットでレシピの提案を受けるという試みは、まだまだ満足のいくものではありませんが、技術の持つ可能性や課題を体感することができました。今後はさらに改善を加え、たくさんの方に利用いただける状態になった際には一般公開させていただきます!
今後も引き続きChat GPTや他のAI技術を活用し、より実用的で魅力的なアプリケーションの開発に挑戦していきたいと思っています。そして、最新技術を駆使して人々の暮らしを「より便利で楽しいもの」にしていくことをめざします。
私たちは、技術力の向上や新しいチャレンジを続けていくことで、さらなる成長をめざしていきたいと考えています。たとえ結果が完璧でなくても、楽しみながら新しい試みを続けることで、技術の進歩やイノベーションに貢献できると信じております。
これからのNewCyteの活動をぜひ楽しみにしていてください!!