結婚式LINEボット Powered by Workato×ChatGPT 開発記


はじめに

実は先月結婚式を挙げまして、そのときに活躍してくれた「結婚式LINEボット」について紹介したいと思います。

このボットの作成にあたっては、特に芸のない自分としては結婚式でどうパーソナリティを出そうか…というのをずっと悩んでおり、Workato使って何かできないかな〜と考えていたところ思いついたのがこの仕組みになります。

結婚式LINEボットの役割

結婚式では、新郎新婦の生い立ちや出会い、趣味、好きな食べ物など、ゲストの方々は新郎新婦について色々知りたいものです。
特に、妻とは大学で知り合ったものの共通の友人はほとんどおらず、お互いのゲストはもう一方のことをほとんど知らない、という状況でした。フォトラウンドで各卓を回る機会はありますが、せいぜい2~3分しかないのでゆっくり話をして自己紹介する時間もありません。

何とかゲストの皆さんに自分たちのことを知ってもらえないかと悩んでいたところ、
「結婚式LINEアカウントからお互いのことをゲストに伝えてもらえないか?」
というアイディアを妻が出してくれました。

もともと結婚式LINEアカウントを使用して前撮り写真をゲストの皆さんに共有して見れるようにしようと話し合っていました。
そしてこのアイディアによって結婚式LINEアカウントをゲストから質問を受け付ける結婚式LINEボットとして使用できるな、と気づき結婚式当日2日前でしたがこのボットを作成してみることにしました。

最終的には事前に提供した新郎と新婦のプロファイルをもとに、質問に回答してくれる結婚式LINEボットを作り上げることができました。例えば「新婦の出身地は?」や「新郎の好きな食べ物は?」といった質問に対して、事前に登録した情報をもとに回答してくれます。

結婚式LINEボットの画面
質問と回答例

ChatGPTとの連携

このボットの頭脳はOpenAIのChatGPTです。ChatGPTは、人間が自然に使う言葉を理解し、それに対して適切な返答を生成することができます。

また、WorkatoにはOpenAIコネクターが標準で存在するため、他のアプリから受け取るテキストを簡単にChatGPTに投げることができます。
今回はWorkatoの接続容易性を最大限に活かして、限られた時間の中でLINEとChatGPTを連携する仕組みを作り上げました。

OpenAIコネクターの使用例

実装内容

この仕組みは結婚式の2日前に3時間ほどで完成させることができました。

実装にあたっては、LINEのボットを作成(こちらから)し、OpenAIにクレカを登録してAPIトークンを発行(こちらから)、そしてWorkato(こちらから)でコネクションを作成して実装準備完了になります。

LINEのボットフレームワークとChatGPTを繋ぐ役目を担っているのがWorkatoです。Workatoを通じて、LINEボットが受け取ったメッセージをChatGPTに転送し、ChatGPTからの応答をLINEボットに戻すという流れを実現しています。

実装アーキテクチャ

LINEで受け取った質問文は、まず私たちの個人名やあだ名をそれぞれ「新郎」「新婦」に置き換えています。こうするとChatGPTに投げられる質問には個人名が含まれなくなります。↓

.gsub()関数を使って文字列を置き換え

その後、その質問文は事前に設定してある定型分の {{question}} 部分に入ってきます。↓

メッセージテンプレート機能を使って定型文を管理

この定型文には以下のような内容が書かれています。

あなたは私たちの結婚式ボットです。ゲストからいただく新郎新婦に関する以下の質問に対して回答してください
---
{{question}}
---

以下、新郎新婦に関する前提知識です

新郎に関する前提知識:
・1997年5月5日 横浜市港南台生まれ
・4〜8歳までアメリカのコロラド州で過ごす
・現在はWorkato株式会社でソリューションコンサルタントとして勤務
〜〜〜

したがって、上記のような前提知識が記載された質問をChatGPTに投げるような形になっています。この定型文はWorkatoのメッセージテンプレート機能を用いて管理しているので、途中で追記したい内容とかが出てきたらレシピ(自動化の仕組み)を止めることなく追記していくことができるようになっています。

あとは、出来上がった質問文をChatGPTに投げて、返ってくるレスポンスを結婚式アカウントから質問者に対して送信して完了となります。

英語で聞いてもちゃんと答えが返ってきます
たまに余計なことまでベラベラ喋ります
このボットについて知りたいエンジニア達用に解説の仕組みも入れてます

実装レシピのダウンロードリンク

こちらからダウンロードいただけます。

まとめ

実際、参列者は60人強ほどでしたが、レシピのジョブ数を確認すると150以上の質問を捌いてくれていました!単純計算で一人当たり2~3回質問してくれていた計算です。

実行ジョブ数は「155」

結果的に今回この結婚式LINEボットは大活躍で本当に作ってよかったなと思います。
ゲストからのさまざまな質問に対して、タイムリーかつ正確に答えることができ、ゲストと新郎新婦の間の距離感を縮める役割を果たしてくれました。そして思い立った時にすぐに自動化の仕組みを作れる、Workato様様です。

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