6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS+Dify+LINE APIの連携(LINE MessagingAPI編)

Last updated at Posted at 2025-06-27

本記事は、 Serverless Meetup Osaka #05 の後半、LINE連携パートにおける記事です

DifyのAWSデプロイ

TiDB Serverlessによるベクター検索基礎・Difyへの組み込み

ここからはLINE公式アカウントを作成し、LINEのMessaging APIとDifyを連携させ、
RAG × LINEで環状線観光案内Bot
を作成してきます。

Difyへ今回利用する環状線ディープ情報をRAGとして追加

普通の情報だと、LLMが回答するので、なかなかヒットしない情報をRAGで追加します。

RAGの追加

まずは、ナレッジに追加するデータをこちらからダウンロードします。
大阪環状線19駅 ディープ情報まとめ
image.png

次にDifyにアクセスします。
EC2に表示されている、パブリックDNSにそのままアクセスするとDifyが表示されません。

image.png

https://ec2-***-***-・・・・

となっているところを

http://ec2-***-***-・・・・

と、https から http に変更してください

次にナレッジタブを選択し、ナレッジベースを作成を選択します。

image.png

そして、ダウンロードしたファイル(osakacircle_deepinfo.md)をアップロードします。
➀のテキストファイルからインポートを選択
⓶のエリアにosakacircle_deepinfo.mdをドラック&ドロップでアップロード
次へを選択します。
image.png

チャンク設定を行います
➀チャンク識別子を ## にしてください (ダウンロードしたデータが ## で区切っているため)
⓶埋め込みモデルを【amazon.titan-embed-text-v2:0】に変更してください。(初期値でないことが多いので要確認)
⓷Rerank モデルを【amazon.rerank-v1:0】
image.png
以上を設定しましたら、保存して処理を押してください。

【埋め込みが完了しました】と表示され、アップロードしたファイルの横に緑のチェックマークが入っていたら成功です。
image.png

Difyのスタジオに戻り、作成中のアプリを選択します。
そして、Knowledge Retrievalを選択して
➀現在設定されている、ナレッジベースを削除して、先ほど作成したナレッジを選択
⓶公開を選択し、更新を公開を選択します。
image.png

以上で、RAGの設定は完了となります。

LINE公式アカウントの作成

2024/9/4よりLINE developersコンソールからLINE公式アカウントの作成ができなくなりました、
参考:2024年9月4日をもってLINE DevelopersコンソールからMessaging APIチャネルを直接作成することができなくなります
一旦、LINEオフィシャルアカウントマネージャーにてアカウントを作成後、LINEdevelopersにて作業することとなっております。

LINEオフィシャルアカウントマネージャーでの作業

LINE公式アカウントの作成

こちらからオフィシャルアカウントマネージャーにログインをしてください。

https://manager.line.biz/

全く初めての方は、下記の公式サイトをご参考にビジネスIDを作成してください
https://www.lycbiz.com/jp/manual/OfficialAccountManager/new_account/?list=7171

アカウント名や業種などを選択していき作成ボタンを押します
image.png

2025/6/25よりLINE公式アカウントの作成には、ビジネスマネージャーとの連携が必須となりました。
ビジネスマネージャーの組織を作成を選択して、組織名などの入力、もしくは
ビジネスマネージャーをの組織を選び、組織を選択してください。

アカウントが作成されましたら【LINE Official Account Managerへ】を押して移動してください。
image.png

ログインできましたら、右上の設定ボタンを押します

image.png

左のリストに表示された【MessagingAPI】を押し、MessagingAPIを利用すると押します。

image.png

するとプロバイダーを選択と出てくるので、新しく作成するか、既存のものを選択します。
(初めてでわからない場合は、【プロトタイプ】の様な感じで作成して大丈夫です)
image.png

プライバシーポリシーと利用規約が記載してください。
(通知のアカウントだけであれば、空欄で大丈夫です。)
image.png

確認ボタンがでてきますので【OK】
image.png

その後設定完了画面がでてきます。こちらで、オフィシャルアカウントマネージャーでの設定は終わりですので、LINE Developersに移動します。
image.png

LINE developersでの作業

チャネルアクセストークンの取得

LINE Developersに行ったら、コンソールに入ります。

LINE Developersでの作業

(初めての時は開発者登録画面になるので登録してください。)
image.png

ログインをしたら、先ほど作成したものが表示されていると思いますので、そちらへ移動してください。

image.png

【MessagingAPI設定】のタブをクリックします。
image.png

その画面の一番したの、チャネルアクセストークンで、発行ボタンをおして、チャネルアクセストークンを発行して、コピーしてください。
image.png

チャネルアクセストークンの先頭の文字が英数字以外(+やー等)の場合、このプログラムがうまく動かないことがるので、その際は、再発行をおしえて、先頭が英数字のものになるようにしてください。

スプレッドシートとの連携

こちらのスプレッドシートをひらいていただき、マイドライブに保存してください。

環境値設定

LINE developersでコピーした、チャネルアクセストークンをsettingシートのセルC2に張り付けます。

image.png

次に、AWS上に作製しましたDifyにアクセス。

左にある、
➀APIアクセスメニューを開き
⓶APIサーバーのアドレスのコピー
⓷APIキーを発行
してください。

image.png

上記の⓶のAPIサーバーのアドレスの後ろに /chat-messagesを追記し
スプレッドシートのC5セルに記載してください。
例 http://ec2-**-***-***-***.us-west-2.compute.amazonaws.com/v1/chat-messages

⓷で発行した、APIキーは、セルC4にはりつけてください

以上で、環境設定は完了となります。

GASのデプロイ

続いて、GASとLINE MessagingAPIとを連携していく作業を行います。

拡張機能⇒AppsScriptをおしてGAS(GoogleAppsScropt)の画面を表示します。

image.png

右上のデプロイで新しいデプロイを選択します。
image.png

次のユーザーとして実行で、自分を選択
アクセスできるユーザーを全員にします。
image.png

最初だけ【アクセスを承認】の画面がでます
image.png

自分のアカウントを選択します。
image.png

確認が画面がでるので【Advanced】を選択します
image.png

ここで、【BACK TO SAFETY】や戻るを選択すると戻ってしまいます。
(新しいプログラムなので大丈夫??という確認です。今回のものは安全なものなので大丈夫です。)

unsafeを押します。
image.png

外部と通信しますかという確認がでますので【Allow】許可してください。
image.png

するとデプロイ(プログラムが出来上がる)されて、画面がでますので【ウェブアプリ】のアドレスをコピーしてください
image.png

LINE developersでのwebhook設定

先ほどのGASのアドレスがLINE APIからのエンドポイントとなるため
その設定を行います。
LINE developersのMessaging API設定のタブからWebhook設定にいき、WebhookURLに先ほどのGASのアドレスを貼り付け更新を押します。
image.png

検証ボタンをおしても、GASの場合、成功と表示されないので、エラーがでましてもそのまま進んでください。

その後、webhookの利用にだけチェックを入れてください
image.png

webhookの再送にチェックをいれるとGASの場合、連続して再送されることがあるためチェックを入れずにお願いします。

また、LINEオフィシャルアカウントマネージャーで、応答メッセージの設定をOFFにしてください
image.png

ONのままの場合、Difyの回答と、LINEオフィシャルアカウントマネージャーでデフォルトで設定されているメッセージの両方が返答されてしまいます。

リッチメニューの設定

次にリッチメニューの設定を、LINEのAPIで行います。

通常のLINEオフィシャルアカウントマネージャーからリッチメニューの設定を行った場合、設定できるタップ領域は6か所となっております。
LINEのAPIにて設定することにより、タップ領域が20個まで設定でき、タブ切り替えなど行えるようになります。

先ほどのスプレッドシートのGASにある
richmenusetを実行してください。

image.png

こちらを実行すると環状線の駅のリッチメニューがセットされます。

完成!試してみましょう!

作成したLINE公式アカウントを友達追加してリッチメニューをタップしてみましょう!
駅名をタップすると駅名について、問い合わせを行います。
すると、Dify上にアップしたRAGを参照した回答が返ってきます。

LINEの画面
image.png

以上で、完成となります!!

RAGのデータやリッチメニューのデータを変えて、いろいろなLINEbotを作成してみてください!!

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?