会員証・ポイント管理・AIチャットボットを1つのLINE公式アカウントに!
LINE公式アカウントを使って、会員証のデジタル化・ポイント管理・AIチャットボットによる問い合わせ対応まで、すべてLINEアプリだけで完結できるものを今回は作成します。
Google Apps Script(GAS)とスプレッドシートを使うことで、お手軽に小規模店舗や地域団体でも導入可能です。
またAIチャットボットはDifyを利用し、ノーコードでしかもある程度まで無料で利用が可能となっております。(2025/9/4現在)
ハンズオンを実施したYouTubeはこちらになりますので、こちらもぜひご覧ください!
実装する機能の紹介
-
デジタル会員証
リッチメニューから「会員証」を押すと、ユーザーIDとスプレッドシートに紐づいた会員番号・ポイントをもとに、QRコード付きの会員証画像を返信します。 -
管理者ポイント加算・減算機能
管理者も同じLINE公式アカウントから、ユーザーの会員証を読み込んでポイントを加算・減算できます。紙の台帳や外部アプリを使わず、LINEだけで運用が完結します。 -
AIチャットボット機能(Dify連携/RAG)
Difyを連携し、RAG(Retrieval-Augmented Generation)を使ってナレッジから回答を生成。店舗の独自メニューなどの問い合わせ対応の自動化が可能になります。
システム構成図
上図がシステム構成図になります。
➀から④までの流れが、会員証機能
⑤から⑩までがDifyを使ったAIチャットボット機能になります。
まずは➀から④までを構築していきます。
デジタル会員証発行の設定
まずは下記の記事でLINE公式アカウントを作成してLINE会員証機能を盛り込みましょう
下記に記事内に出てくるスプレッドシートはこちらに置き換えて設定してください。
https://docs.google.com/spreadsheets/d/1PHmUxhH_eqwYbWxYQMK-DDW7WWQMvAuuicznYOvQDPM/edit?usp=sharing
会員証機能の実装完了
Difyの構築
まずはRAGがない生成AIの回答が返ってくるボットを作成します!
下図の黄色の部分を設定していきます。
Difyの設定
これから下図のオレンジ枠内のDifyの構築を実施します。(Difyのナレッジ部分は、次のセクションで実施します)
Difyへ行きログインします。
https://cloud.dify.ai/signin
ログイン完了後下記の画面になりますので、チャットフロー(チャット用の設定画面)を作成していきます。
最初から作成⇒チャットフローを選択し、アプリのアイコンと名前を設定します。
今回は下記の名前で作成していきます。
アプリ名 |
---|
LINEDCハンズオンチャットボット |
作成ボタンを押すと下記のチャットフローの画面になります。
次はLLMモデルの設定を設定していきます。
LLMモデルの設定
次に、LLMのモデルが最初は設定されていないので選択していきます。 DifyのSandbox版(無料版)ではOpenAIのモデルが200回利用できるのでそちらを利用するための設定をしていきます。➀LLMのブロックを選択
②AIモデルを選択
③【モデルを設定する】を選択
④【モデルプロバイダー設定】を選択
⑤【モデルプロバイダーをインストールする】で【OpenAI】を選択し、【インストール】を実行
⑥インストールが完了すると、モデルプロバイダーのところに【OpenAI】が表示されます
⑦モデルプロバイダーが確認出来たら、【ESC】で画面を閉じます
⑧【AIモデル】を選択
⑨モデルで【モデルを設定する】を選択
⑩今回は複雑な計算処理がないので【gtp-4o-mini】を選択します。
LLMの設定
LLMのブロックを選択するとLLMの設定画面になります。
そこで設定を実施していきます。
項目 | 設定内容 |
---|---|
AIモデル | gpt-4o-mini(全項で設定済み) |
コンテキスト | 空欄 |
SYSTEM | 下記の項目を貼り付け |
あなたは親切なアシスタントです。
{{#sys.query#}}
ユーザーへの回答時:
- わからない場合は、わからないと答えてください。
- ユーザーの質問の言語に合わせて回答してください。
APIキーの取得
GASからDifyにアクセスするためのAPIキーを取得します。
【新しいシークレットキーを作成】を選択すると、APIシークレットキーが発行されるのでコピーしてメモ帳などに保存します
スプレッドシートへデータおよびGASで設定作業
こちらで設定完了となり、Difyを使った生成AIチャットボットは完成です!
一度、「おすすめのメニューは?」「魚料理は何がある?」「駐車場はある?」など話しかけてみましょう。
生成AIが回答してくれます。
ただし、ナレッジデータをいれておりませんので、まだRAGを用いたものにはなっておらず
一般的な回答のみが返ってまいります。
ナレッジの設定(RAG)
Difyにてナレッジにデータを設定していきます。
これを設定することによりRAG(拡張検索)が、利用できるようになります。
ではナレッジの設定を実施していきます。
Difyでナレッジ設定
ナレッジ設定
【テキストファイル】からインポートを設定し、次にある【Difyナレッジ用店舗基本情報.text】を右クリックして、【名前を付けて保存】を選択して、PC上に保存してください。
Difyナレッジ用店舗基本情報.text
その後、ドラック&ドロップで店舗基本情報をアップロードして【次へ】を選択してください。
次に、設定画面が出てきます。
ここで【チャンク識別子】を【###】に変更してください。
(店舗基本情報.textファイルの内容が、【###】で1つのチャンク(分割)しているので、データを###で区切っていくという設定です。)
チャンクの設定をきちんとしないと、データが別々のものと認識されたりするので、データ作成の際はご注意ください。
チャンク識別子を入力しましたら【チャンクをプレビュー】を押してください。
右側に、チャンクされたデータが表示されます。
その他の設定は、今回はデフォルトの値を利用しますので、【保存して処理】を選択します。
ワークフローの設定
ワークフローに戻って設定をしていきます。
上部にある、【スタジオ】を選択し、さきほど作成したアプリを選択します
【ブロックを追加】を選択し、【知識検索】を選択してブロックを追加します。
現在、開始とLLMをつないでいるコネクション(接続線)を一度削除し、
開始ー知識検索ーLLMー回答
知識検索のブロックを選択して、【ナレッジベース】を選択して、先ほどの店舗基本情報.txtを選択してください。
LLMブロックの設定
LLMのブロックを選択して
➀コンテキストのところに、知識の検索を追加
⓶SYSTEMのところに以下の文章を追加します
コンテキストをあなたの知識として使用してください。
③変数挿入ボタンを選択
④一番下に表示される【コンテキスト】を選択し、文章内に挿入
設定が完了したら右上の【公開する】⇒【公開を更新】で
ナレッジのデータが反映されます。
知識検索の検索変数が空になる場合があるようです。その場合はsys.queryを再設定してください。
RAGの設定完了
こちらでRANの設定が完了しました。
LINEで試してみましょう。
ナレッジ反映前は通常のデータしか返ってきませんでしたが、
反映後は、ナレッジの内容が返ってくるようになり独自のデータベースを利用することができるようになりました。
このように、独自のメニューや社内情報などを入れたものが作れますのでいろいろとご活用ください!