Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20180621_Node学園LT

たけだ
September 21, 2022

 20180621_Node学園LT

Node学園勉強会LT
AzureのサーバレスでNode.jsテンプレート使ってチャットボット作れるよ

たけだ

September 21, 2022
Tweet

More Decks by たけだ

Other Decks in Technology

Transcript

  1. AzureのサーバレスでNode.jsテンプレート使って
    超絶簡単にAIチャットボット作れるよっていう話
    東京Node学園 #node_girls 2018/06/20 たける

    View Slide

  2. 注意
    •資料公開しますんで手順などはさらっと進みますがあと
    で見てみてください。
    •私なんかでよければSNSシェアOKです。

    View Slide

  3. 自己紹介
    たける
    株式会社チェンジ エンジニア
    • 業務でスマートデバイスを導入・活用する際のコンサルティング及び業務アプリ開発
    (主にチャットやチャットボットに関わるコンサルティング、開発、ツール販売、導入支援など)
    • 元SIer(某銀行の融資システム維持開発のインフラ担当)
    • プログラミングレベル:ひよっこ(Node.js、C#)
    • チョットデキル:Azure、Office365、CognitiveService、チャット製品全般、チャットボット作成ツール
    • アマリデキナイケドキョウミアル:AWS、IoT、Ionic、Low-Code、音声系
    • ハマっていること:スキューバダイビング、ゴルフ、リゾート、お酒、チャットボット作り

    View Slide

  4. ちょっとアンケートとらせてください
    https://bit.ly/2LRJeiX

    View Slide

  5. (追記)
    ぉお。

    View Slide

  6. 勉強会に参加するようになったきっかけ
     9年間金融系SE(プロジェクトマネージャー)
     飽きた
     2017年2月 大企業からベンチャー企業に転職。
     圧倒的にWEB系や開発者としての知識が足りないことに気づく
     メールや読み物の半分以上が英語。やばい。
     常に新しい情報のインプット必要(事業内容:NewITトランスフォーメーション イミフ

     会社の9割がコンサルタント職種でエンジニア少なくて共感できる人少ない
     「勉強会 エンジニア」で検索したらたくさんあるじゃん
     月7くらいで参加
     ハンズオン大好き

    View Slide

  7. チャットボットって?
    • 「チャット」+「ロボット」
    =「チャットボット」
    • チャットをUIとしてボットアカウントに接
    続したプログラムが処理を自動的に実
    行してくれる
    • 自然言語AIとつながってるSiriとかりん
    なとか有名。
    • LINEとかSlackとかチャットツールから
    提供されてるAPI使う

    View Slide

  8. チャットボットとの出会い
    • 転職して初めて参画したプロジェクトが「チャットボットコンサル」
    • ちゃっとぼっと・・・?何それ美味しいの・・・?
    • 当時ググってもあまり出てこず。本もほとんど出版されておらず。
    • IT系勉強会なら多少あってコソコソ勉強してた
    • いつの間にか「チャットボット得意な人」扱い
    • 「チャットボットサービス作って!」っていうムチャぶり

    View Slide

  9. 作ってやったさ。
    • 開発期間2か月でリリース
    • 超アジャイル開発(後から知った)
    • 奇跡

    View Slide

  10. Node.jsとの出会い
    • Node.jsとの出会い≒Node学園との出会い
    • それ以降のびすけさんのqiitaとか見ながらチャットボット勉強

    View Slide

  11. AzureでAIチャットボット作ってみる
    「QnAMaker」っていうFAQボット用のAIとつないで超簡単に作ります

    View Slide

  12. Azureアカウント
    • 必要なもの
    • クレジットカード
    • Microsoftアカウント(無料で1分で作れる)

    View Slide

  13. Azureログイン (https://portal.azure.com)
    • ダッシュボード
    • 無料アカウントで
    22,500円使い切っても
    課金されない
    • 無料アカウントから有償
    アカウントへの切り替えす
    れば従量課金アカウント
    になる
    • ゲストユーザ招待して複
    数メンバーでも利用可

    View Slide

  14. Azureで何する?
    • Azure FunctionsBot
    • サーバレスのリソースの中にチャットボットフレームワークが用意されている。言
    語C#かNode.jsが対応されてる。
    • QnAMaker
    • FAQ(よくある質問と回答データ)
    を登録するだけで簡単にFAQボット
    が作れる自然言語のゆらぎに対応
    したAI。学習させるとさらに
    賢くなる(はず)

    View Slide

  15. QnAMakerリソース作る
    • 検索して

    View Slide

  16. • 適当に設定して(プランは無料選んで)
    • 作成クリックして数分待つ
    • デプロイ成功

    View Slide

  17. QnAMakerにデータ入れる(https://www.qnamaker.ai )
    • [Create a knowledge base]から新規作成
    • さっき作ったリソース指定
    • よくある質問集のURLを指定
    • 自動的にURL先から質問と回答データ
    判定して登録(ただ日本語まだ苦手)

    View Slide

  18. QnAMaker登録でけた
    • URLだけで自動抽出して登録する機能、便利ね。

    View Slide

  19. QnAMakerテスト
    • 登録されたFAQの文言の表現をちょっと変えて
    みても回答してくれる。
    • 日本語もっと頑張れ。

    View Slide

  20. QnAMaker公開
    • [PUBLISH]クリックして公開
    • キーとか表示されるんでメモ
    ( ..)φメモメモ

    View Slide

  21. FunctionsBotリソース作る
    • FunctionsBot作成
    • プログラムテンプレート選択で
    「Node.js」選択
    • 「Question and Answer」選択
    • 数分でデプロイ完了

    View Slide

  22. QnAmakerとつなぐ
    • アプリケーション設定でさっきメモしたキーなどコピペ

    View Slide

  23. チャットから使ってみる
    • 用意されたチャンネルなら
    簡単につなげる
    • なくても「DirectLine」で
    アダプタを作ればつなげら
    れる(LINEとか)

    View Slide

  24. Skype / Teams / Skype for Business 接続が簡単に

    View Slide

  25. Web埋め込み型のチャットボット設置

    View Slide

  26. ブラウザ上に開発エディターもあるのでちょっとした開発ならここでOK

    View Slide

  27. ブラウザ上に開発エディターもあるのでちょっとした開発ならここでOK

    View Slide

  28. 私はローカルに落としてVS Codeで開発してます
    • もっと他にもいい開発環境方法あるよ!って方知ってたら教えてください。
    (私Azureではほぼ ぼっち開発者)

    View Slide

  29. ね?簡単でしょ?是非皆さんも作ってみてください♪
    って話をするはずだった

    View Slide

  30. 一昨日(6/18)の話
    • さてそろそろLTの準備しようと思って
    Node.jsでボット作ってみたら…
    うんともすんとも動かず。。
    • ログ見ても何も残っておらず。

    View Slide

  31. まただ…
    • 何か始めると高確率でバグを引く
    • コミュニティ見てもあがっておらず。
    • え?この機能使ってるの世界中で私
    だけじゃないか?って思ってしまうほどの
    標準的な所。
    • サポート問合せするとやっぱりいつも報
    告1人目。
    • 確かにAzureのサーバレス
    (FunctionsBot)でボット開発して
    る人はグローバルでもあまりいないっぽ
    い。皆PaaS(WebApps)で作って
    る。

    View Slide

  32. なぜ直らないのだ。
    • 今回のはまだいい。LT
    向けだし。
    • 実際の案件でぼっち
    開発してる時こういう
    のにぶち当たるとけっこ
    うツライ。
    • 公開されて結構経っ
    てるリソースにも不具
    合結構ある。

    View Slide

  33. そう。










    View Slide

  34. さっそくサポートに報告
    • 3,000円~/月
    • Azureサポートめっ
    ちゃいい
    • マジオススメ。
    • 数えてみたら200件/
    年以上チケット切って
    た。すげえ私。

    View Slide

  35. バグじゃなくて改善依頼とかならコミュニティに上げる
    • こんな機能あったらいいな!などはコミュニティ
    ( https://cognitive.uservoice.com/ )にあげる。
    • (私含めて)英語苦手な人や日本語特有のフィードバックはサポートに手伝って
    もらってあげることもできる(と思う)。
    • 日本人でフィードバック上げる人ほとんどいない…

    View Slide

  36. Azureサポートエンジニア、とても優秀です。
    • 緊急度や優先度をヒアリングし、とても理解ある対応してくれる。
    • 問合せした当日の夜には暫定対処方法の回答くれた。
    • 今日の朝(問合せ2日後)にはバグ直してくれた。
    • いい人多い。

    View Slide

  37. つまり
    消防車は呼べば来る。

    View Slide

  38. まとめ
    • Azureサーバレスでチャットボット簡単に作れるよ♪
    • 皆も作ろうよ!
    • 使っていて見つけたバグやフィードバックはサポートやコミュニティに報告しよう!
    (サポート契約ないなら私に共有して再現できたら報告あげますよ!)

    View Slide