Dify - LINE Bot連携 考え方と実用テクニック | うえぞうさん @uezochan

LINE Developer Community
19 Sept 202412:50

Summary

TLDR講演者は、体調不良のためリモートで参加し、LINEボットの連携方法について説明しました。彼は、AIアシスタント開発に関わっており、LINEボットの仕組みやバックエンド技術、特にDFを使用した連携のメリットを詳しく紹介しました。具体的には、セッション管理やユーザー入力の処理、リッチメッセージの作成方法について話しました。さらに、ボット開発を効率的に進めるためのテクニックも共有し、関連するライブラリがGitHubで公開されていることを強調しました。最終的に、迅速な開発環境を活用する利点を述べました。

Takeaways

  • 😀 ウナ県の蔵氏が体調不良のためリモートでプレゼンを行った。
  • 🤖 本日のプレゼンテーマは、LINEボットの連携と開発テクニックについて。
  • 💻 蔵氏はAIアシスタントや妹ボット2.0の開発に携わっており、最近一般公開された。
  • 🚀 DF(Dialogflow)をバックエンドに使用したLINEボットの仕組みが紹介された。
  • 🧠 DFのメリットとして、会話フローの制御やスキルの呼び出しが簡単にでき、管理がしやすい点が挙げられた。
  • ⚡ DFを使用することで、リリースまでのスピードが非常に早い。
  • 🛠️ セッション管理やユーザーIDとカンバセーションIDの紐付けが重要なポイント。
  • 📊 テキスト、画像、位置情報、スタンプなどのユーザー入力への対応方法が説明された。
  • 📱 リッチなオートメッセージをLINEボットで作る際の実装例が紹介された。
  • 📂 DFを活用することで、LINEボット開発が効率化され、より価値のあるボットを短期間で提供できる。

Q & A

  • 今回のプレゼンターは誰ですか?

    -ウナ県の蔵さんです。

  • プレゼンターは当初どのように発表する予定だったのですか?

    -本来は会場での発表を予定していましたが、体調を崩したためリモートでの発表となりました。

  • 今回のプレゼンの主なテーマは何ですか?

    -LINEボットの連携の仕組みや、連携させるための考え方やテクニックについてです。

  • 最近リリースされたボットの名前は何ですか?

    -妹ボット2.0という名前でリリースされました。

  • このプレゼンで使われたバックエンドの技術は何ですか?

    -DF(Dialogflow)をバックエンドに使用しています。

  • LINEボットとDFの連携で重要なポイントは何ですか?

    -LINEユーザーのIDとDFの会話スレッドを紐付けて管理することが重要です。

  • DF連携のメリットは何ですか?

    -フロー制御やスキル呼び出し、オートメッセージの組み立てが簡単にでき、全体をオールインワンで管理できる点です。

  • LINEボットで扱えるユーザー入力にはどのようなものがありますか?

    -テキスト、画像、位置情報、スタンプなどの入力があり、それらに応じた対応が可能です。

  • スタンプが送られた場合、どのように処理していますか?

    -スタンプの情報をテキスト化し、どのスタンプが送られたかを記録しています。

  • ビデオ通話との連携に関する説明はどうなっていますか?

    -時間がなく詳細には触れられませんでしたが、資料が共有されるとのことです。

Outlines

00:00

👋 リモートでのプレゼンテーション開始

スピーカーは体調不良によりリモートでの発表を開始し、LINEボットの連携について話す予定であると述べている。自己紹介では、AIアシスタントの開発や著書の一般公開に触れ、最近リリースした「妹ボット2.0」について紹介。特にAIアシスタントを使った通話やスキル実行のデモを行い、文脈の理解や会話の続きが自然にできる機能について説明している。

05:00

📊 DF連携のメリットと運用の利便性

DF(Dialogflow)との連携のメリットとして、会話フローやスキルの呼び出しが簡単にできる点を強調。さらに、開発から運用までのモニタリング機能が充実しており、リリースまでのスピードも速いと述べている。LINEとDFの間にインテグレーション層を設けることで、処理の複雑さを緩和できるとし、DFの柔軟性を活かしたアプローチが有効であると説明。

10:01

⚙️ LINEボットのセッション管理とメッセージ対応

LINEユーザーのIDとDFの会話IDを紐づける必要があり、これをインテグレーション層で管理することで、文脈のつながりを維持する手法を紹介。また、テキストや画像、位置情報、スタンプなど、ユーザーのさまざまな入力に対する対応方法について詳述。特にスタンプのデータを解析してテキストで処理する方法や、オートメッセージの生成と組み立てについても説明している。

Mindmap

Keywords

💡LINEボット

LINE上で動作する自動化されたメッセージングプログラムのこと。ビデオでは、LINEボットを連携させてユーザーと対話を行う仕組みや、それを実現するための技術的なテクニックが紹介されている。特に、会話フロー制御やスキルの呼び出しを自動化する点が強調されている。

💡DF連携

DF(Dialogflow)との連携を指し、LINEボットのバックエンドとして使用される。ビデオでは、DFを活用してメッセージのフローやオートメッセージの組み立て、モニタリングを行うメリットが説明されている。DFによって効率的な開発と運用が可能になる点が強調されている。

💡セッション管理

LINEボットが複数のユーザーと同時に会話を行う際、ユーザーごとの会話スレッドを正しく管理する仕組み。ビデオでは、DFがユーザーIDを認識し、会話の文脈を保持するためにセッション管理が重要であると説明されている。

💡インテグレーション層

LINEとDFの間に設置される中間層で、メッセージのマッピングやフロー制御を行うための仕組み。ビデオでは、これがあることでシステムの柔軟性や拡張性が高まると述べられている。

💡オートメッセージ

ボットが自動的に生成するメッセージのこと。ビデオでは、リマインダーやボタン付きのテンプレートメッセージなどがDFから送信される例が紹介されており、オートメッセージの活用がLINEボットの利便性を高める点が強調されている。

💡タイムtoマーケット

アイデアを実際に市場に投入するまでの時間を短縮すること。ビデオでは、DFを使用することで、ボットの開発が迅速に行われ、リリースまでの期間が1ヶ月未満であったことが説明されている。

💡モニタリング

ボットがどれくらい使用されているか、会話フローが適切に機能しているかを監視するプロセス。ビデオでは、DFがこれを簡単に行える仕組みを提供し、運用フェーズでの効率化に寄与していると説明されている。

💡カンバセーションID

ユーザーごとの会話スレッドを識別するためのID。ビデオでは、DFがこれを使ってLINEボットの会話の文脈を管理していると説明されており、これを適切に扱うことがセッション管理において重要であるとされている。

💡フロー制御

会話の流れを制御するための技術。ビデオでは、DFを使うことでユーザーからの入力に応じた柔軟なフロー制御が可能であり、これにより会話の文脈を保ちながらスムーズなやり取りができる点が強調されている。

💡ユーザーID

LINEボットにおいて各ユーザーを識別するための固有のID。ビデオでは、DFとの連携において、このユーザーIDを適切に処理し、会話の文脈が途切れないようにすることが重要であると説明されている。

Highlights

講演者は、体調不良によりリモートで発表することを説明。

LINEボットの連携仕組みや実際の開発技術について紹介。

AIアシスタントの開発に携わっており、最近妹ボット2.0をリリース。

妹ボットはバックエンドにDialogflowを使用している。

LINEボットで通話機能が可能で、文脈に基づいた応答を提供。

妹ボットの性格や機能をユーザーがカスタマイズできるスライダー機能。

リマインダー機能や天気情報など、ボットに多彩なスキルを組み込む。

Dialogflowの連携により、迅速にボットを開発し、1ヶ月でリリース。

LINEボットとDialogflowの連携を効率化する中間層を構築する重要性。

Dialogflowのフローベースと非フローベースの柔軟性を活用。

セッション管理により、LINEユーザーIDとDialogflowの会話IDを紐付ける必要性。

ユーザーからの位置情報やスタンプをテキストに変換し、適切に処理。

リッチメッセージ(ボタンや画像付きメッセージ)を自動で生成する手法。

初回の会話時に入力引数を設定し、後から更新できないため注意が必要。

GitHubにライブラリーを公開しており、他の開発者が簡単にボットを作れる。

Transcripts

play00:00

それでは始めさせていただきます皆さん

play00:02

こんにちはえっとウナ県の蔵と申します

play00:07

よろしくお願いします本当はですねえっと

play00:11

本日あの会場でお話する予定だったんです

play00:15

けどもちょっと体調崩しちゃってあの映し

play00:18

ちゃうといけないんでえっと今日はあの

play00:20

リモートでお話しさせていただきます

play00:22

よろしくお願いしますでえっと今日お話し

play00:27

させていただく内容なんですけれどもあの

play00:30

とあとあのLINEボットのですねあの

play00:33

連携の仕組みあの連携させるためのあのま

play00:37

考え方とかあと実際にあのやっていくため

play00:41

のテクニックとかそういったところをご

play00:43

紹介させていただきますよろしくお願いし

play00:46

ますでえっと時間がないので自己紹介は

play00:51

ちょっと本当に一言でえっと色々書いてる

play00:54

んですけもあの最近はですねあの先ほど

play00:58

石川さんのあのプレゼンの中でもあの

play01:00

取り上げていただいてあのすごく嬉しかっ

play01:03

たんですけどもあのAIアシスタントの

play01:06

開発とかを最近は色々やっていますあと

play01:10

生生周りだと

play01:12

あのまちょっと本も書いたりとかもしてる

play01:15

んであのご関心ある方ですね是非見て

play01:18

いただければと思い

play01:20

ます先ほどそうあのねえっと一般公開して

play01:25

ないという風におっしゃってあのくださっ

play01:27

たんですけども実はですねあの最近あの

play01:30

一般公開をしましたえっと妹ボット2.0

play01:34

という形であのリリースしましてですね

play01:36

ライブドアニュースさんくまさんの記事で

play01:39

あのライブアさんにあの取り上げて

play01:42

いただいたりですとかあおさんのですね

play01:45

なんかYouTubeでも取り上げて

play01:47

いただいたりとかちょっとですねあの話題

play01:49

にしていただいてあのすごく嬉しかった

play01:51

感じですでえっとこちらのあのボトがです

play01:56

ね両方ともあのバックエンドにあのDFを

play01:59

使わせていただいてるものになりますえ

play02:02

どんなものかというとですね左側から見て

play02:05

いただきたいんですけれどもまわるこ妹

play02:08

ちゃんとおしりができるというような

play02:11

そんなあのライモッドになっていてここ

play02:14

まではま普通だなって感じだと思うんです

play02:16

けれども先ほどですねご紹介いただいた

play02:19

ような形で通話しようとか言うと通話の

play02:23

ためのメニューが出てきてでその後ですね

play02:28

通話が繋がりますでさっきですねあのお腹

play02:32

空いたみたいなことを言ってたんですよで

play02:34

それで通に入ってきてこのです急に

play02:38

呼び出すんだから何か用事で回るの

play02:42

play02:45

でさっきの話の続きかこあお腹が空い

play02:50

たって言ってたわね何が食べたいのはい

play02:54

こんな感じでですねちゃんと文脈が繋がっ

play02:56

た形であでこの後LINEに戻ってもまた

play02:59

あの文繋がってるんですけどもあのこんな

play03:02

ような仕掛けになっていたりとかあと

play03:04

真ん中ですねあのいろんなイモトらしい

play03:07

設定ができるんですねこのあの1番下の方

play03:10

こうツンと出るよですねこのスライダーで

play03:13

あの性格を選べたりですとかあと気前か実

play03:18

mijかを切り替えたりあのこれ課金が

play03:20

必要なんですけどまそんなことができたり

play03:22

しますしあといろんな機能ですねあの

play03:24

リマインダーがあったりとかあとえっと

play03:28

天気だったりま色々あのそういったスキル

play03:31

があのスキルを載ってますでえっとここを

play03:37

あの全部DFでバックエンド全部じゃない

play03:40

んですけどもあのDFでバックエンドやり

play03:42

ましたので今日はですねここで使ったあの

play03:44

辻買ったようなノハをあのシェアしたいと

play03:47

思ってますで本日お話しする内容ですね

play03:50

あのDF連携のメリットということでここ

play03:53

はあの一般的なお話なんでさらとで2番目

play03:56

でどんな仕掛けあのオーバービューとして

play03:58

どういう風にしてるのかで3番目で具体的

play04:01

にこの辺ポイントですよっていう論点を4

play04:05

つで最後時間あればあのさっみたいなその

play04:08

あのビデオ通話との連携の仕方みたいな

play04:11

ところを話しさせていただきますえまず

play04:15

DF連携のメリットっていうところなん

play04:17

ですけどもあのまずですねえっとイMOD

play04:22

作ろうと思ったら作らなければいけない

play04:25

ようなあのお話のフロー制御だったりとか

play04:28

スキルの呼び出しだったりとか

play04:30

キャラクターを意識したあのオート

play04:32

メッセージの組み立てとかなんかこういっ

play04:35

たものがもう全部DFでできるんでまず

play04:38

そこのあのかれっていうところがすごく

play04:40

あのいいなっていうところとあとあの作っ

play04:44

たりそれ動かしたりとかあとそれ管理し

play04:47

たりとかこんなのがですね全部オール1で

play04:50

オールインワで提供されてるんでやっぱり

play04:53

もうこれだけでいいじゃんみたいなですね

play04:55

あのそんな環境が揃ってますとでえっと

play05:00

特にですねあの嬉しいのがやっぱり

play05:03

モニタリング周りですねどれくらい使われ

play05:05

てるのかとかどんな会話をあのなあの会話

play05:09

フローをちゃんとできてるのかとかですね

play05:12

ちゃんとスキルは呼び出されてるのかとか

play05:14

あのこういったところもあのちゃんと全部

play05:16

見れますので運用フェーズ入ってからも

play05:19

開発中も非常にあのやりやすいということ

play05:22

ででやっぱりタイムtoマーケットですね

play05:25

こんなの作りたいって思ってからあの実際

play05:27

届けるまでのスピードがものすごく早くな

play05:30

るっていうのが特徴だと思ってますモト

play05:32

ボッもですねもうついてからあの1ヶ月

play05:35

かからずにあのリリースして

play05:37

ますでそのアーキテクチャーの今ざっくり

play05:41

概要ですねLINEボットってその

play05:44

LINEからあのユーザーが送ってきた

play05:47

メッセージをWebフックの形であの

play05:49

サーバーに送ってくるんですけれどもあの

play05:54

dfi直接でそれ受けようと思ってもその

play05:56

webbookのあのデータをパスするの

play05:58

があの多分無理なんじゃないかなって思う

play06:01

のとあと逆にですねあのオートメッセージ

play06:04

組み立てた後にそれをもう1回LINEに

play06:06

送るていのがこれもなんか結構難しそう

play06:09

あと複数並べて処理したりとかは結構大変

play06:13

そうなのでま自重に耐えないかもしれない

play06:15

なとかまいろんな課題がありますという

play06:19

ことでまここはですねあの中間層の受け

play06:22

ますインテグレーション層を設けてここで

play06:25

LINEとDFの間のマッピングという

play06:28

ところをまやってやる層を設けるのが

play06:30

すごくあの大切かなという風に思って

play06:33

ますでえっと3点目に書いてあるところな

play06:38

んですけどもあのeifご存知の方も

play06:40

ごめんなさいあのあまり説明できてなくて

play06:43

ご存知の方もご存知でない方も結構

play06:45

いらっしゃるかもしれないんですけども

play06:46

いくつかあのタイプがあって特にあの

play06:50

先ほどあったようなこのフローですね画面

play06:54

左側のようなノートペースのフローを使っ

play06:57

てあの作るタイプとあのそうじゃない

play07:00

タイプがあのあるんですけれどもそうじゃ

play07:03

ないタイプの方があのフローが縛られない

play07:05

ので割と柔軟性が高くて私は割とそれが

play07:09

あの相性がいいかなと思ってますていうの

play07:12

が3点目のお話

play07:14

ですですごくちょっとごめんなさいね時間

play07:17

がなくてあの書論をちょっとお話し

play07:20

ますでえっと今日4つお話をしますまず1

play07:24

つ目はですねセッション管理ということで

play07:27

あのこれLINEボットってえっと

play07:30

ユーザーが誰だよっていう情報送ってくる

play07:33

んですけどもこれそのままDFに送っても

play07:35

そんなの知らんわなっていう話になると

play07:38

思ってますでえっと何も対策しないでその

play07:41

ままやるとあのDFの中でえっと1つの

play07:45

会話スレッドというのがあのカマ

play07:48

セーションIDというのに紐付きてあの

play07:50

作られるんですけれどもあるいはこれは全

play07:53

ユーザーで共有されてしまうか初度新しい

play07:57

会話スレットが起きてあの文脈が繋がらな

play08:00

いってことになってしまうということで

play08:02

このLINEのユーザーIDとえっと

play08:05

dfyの会話のIDというのもこれを

play08:08

紐付けてやる必要があのありますという

play08:12

ことでえっとその紐付けテーブルを

play08:15

インテグレスで持ってあのその役割を

play08:18

果たしていくでもしあのここに乗ってない

play08:22

ユーザーからのリクエストであればefi

play08:25

の方であの新しくあの会話スレット起こし

play08:29

でそのカンバセーションIDをちょっとず

play08:32

乗ってないんですけども

play08:33

インテグレーション層に控えといてあのご

play08:36

採用できるようにするとかまこんな対応が

play08:39

あのこれは必ず多分必要になってくる

play08:42

ところなので覚えといていただければ

play08:45

と思います2つ面としてはですね要求あの

play08:51

いろんなメッセージユーザー入力への対応

play08:53

というところでえっとここ4つ上げてるん

play08:57

ですけれども例えばテキストですですね

play08:59

テキストはもうこのままテキストで送れば

play09:02

オッケーというところで画像も同じですね

play09:05

画像もあの普通に画像の添付ファイルとし

play09:07

て送ればいいんですけれどもあと他に位置

play09:10

情報とかあとスタンプとかですねこういう

play09:14

のが送られてきた時にどうするのかという

play09:16

ところなんですけども私の場合はあの

play09:19

こんな形であの位情報であればユーザーが

play09:23

こんな情報送ってきたよということで住所

play09:26

井戸軽度みたいなものを過剰書きで送っ

play09:28

たりとかでとにかくテキストに直して対応

play09:31

しましたとでスタンプもユーザーがこんな

play09:34

スタンプを送ってきたよっていう情報と

play09:37

あとスタンプってあの実はタ情報がついて

play09:41

いてどんなスタンプかっていうのが分かる

play09:43

んですねまこれの場合だとワハローHow

play09:46

areyouですかねこういったものを

play09:48

送ってきたよっていうのをテキストでる

play09:50

ことによって処理させていますあとオート

play09:54

メッセージですねLINEてそのボタンが

play09:57

ついてたりとかあ画像がついてたりとか

play10:00

いろんなリッチなあのオトメッセージ

play10:02

組めるんですけれどもこれどう作るのかと

play10:04

いう話ですねで基本的にはDFからのオト

play10:08

メッセージを受け取ってそれの中のですね

play10:11

中身を見てあの判断してます例えばこの

play10:15

赤枠の中を見てみるとなんかどうも

play10:18

リマインダーのアイテムを作ったらしいと

play10:20

いうことがあの分かりますということで

play10:24

この情報をとえてきてその情報を使って

play10:27

えっとコードデースで今回の場はボタン

play10:30

付きとテンプレートメッセージというのを

play10:32

あの作っているというよなですねあの

play10:34

こんなことをやってい

play10:36

ますで

play10:38

えっとスタンプですねスタンプの場合は

play10:41

これもいろんなやり方あると思うんです

play10:43

けど私の場合はですねWiFiの中の

play10:47

えっとスタンプを送りたい場合はこういう

play10:50

形でタグを入れてねっていうのを入れとい

play10:53

てもし応答にこのタグが入ってたら画像

play10:55

生成して返すみたいなこんなやり方してみ

play10:58

ます

play11:00

で最後入力引数ですねあのさっき

play11:03

リマインダーの例出したんですけど誰の

play11:06

リマインドあのリマインダーなのかって

play11:08

いうのを教えてあげないとあのツールが

play11:10

呼べないのであのその情報

play11:14

をあげる必要がありますねあのインいう引

play11:19

がDにありますのでここにそういった

play11:21

ユーザーを位置に特定する情報というのを

play11:23

埋め込んでやるまこんなことで対応すると

play11:25

いいんじゃないかと思いますで気をつけ

play11:27

なければいけないのがですねこれ会話

play11:29

始める初回だけしか送れないので後で更新

play11:33

もできないのでここは必ず初回に送るよう

play11:35

にしましょうというのはおつけるべき

play11:37

ポイントですでもうごめんなさい時間が

play11:40

なくなっちゃったえっとあの最初見せて

play11:43

いただいたビデオ通話との文脈の連携方式

play11:47

なんですけどもこれはですねのど資料共有

play11:50

しますのでそれであのじっくり見て

play11:52

いただければと思いますすいませんで最後

play11:56

まとめなんですけれどもえっともう番した

play11:59

だけですねえっととにかくDY使うとあの

play12:03

アイデアを形にするのはすごく早くなるの

play12:06

であのどう作ろうかなじゃなくてどんな

play12:10

ボットを作るかとかLLINEボットで

play12:12

どんな価値を提供しようかなとかそういっ

play12:14

たところにすごく集中できるようになるの

play12:17

で皆さん是非使っていただければという風

play12:20

に思いますで今日ですねお話したあの

play12:23

テクニックみたいなところはあのGハブの

play12:26

方に私あのライブラリーを公開してますの

play12:28

であのこれ使っていただいてもあのすごく

play12:32

簡単に作れますしあの部品取りみたいな形

play12:35

でやり方見ていただければなっていう風に

play12:37

思いますはいごめんなさいちょっと時間

play12:40

すぎちゃってごめんなさいあの私から愛情

play12:43

ですありがとうございましたみさん

play12:46

ありがとうございました

play12:49

[拍手]

Rate This

5.0 / 5 (0 votes)

Related Tags
AIアシスタントLINEボット技術連携DF利点開発フローボット構築リモートプレゼンテクニックスキル活用効率化
Do you need a summary in English?