TypeScript x
Bot Framework
Cogbot x くらでべ! Bot Framework はじめの一歩 詰め込みスペ
シャル
https://cogbot.connpass.com/event/181896/
Introduction
自己紹介とコミュニティトピック
Self introduction
• 大平かづみ / Kazumi OHIRA
• フリーランスエンジニア、リモートワーク
• Microsoft Azure を用いた開発、Infrastructure as Code 好き。
• サーバーサイド開発、OSSメンテ、ほか。IoTも好き。
• さまざまなコミュニティの運営参加。
• Twitter: @dz_
• GitHub: @dzeyelid
Code Polaris
• 女性が安心して学べる技術コミュニティ
• アプリケーション開発を主軸とした支援
• 現役エンジニアを交え、みなで解決するQA
• OSS開発を通じ、実践を学ぶ
• 基本無料
https://code-polaris.connpass.com/
Bot Framework とは
Bot Framework とは
• ボット開発のためのフレームワーク
• C#、JavaScript / TypeScript、Python、Java (Preview)
• 開発、テストがしやすい
• Bot Framework Emulator を使用してボットをテストし、デバッグする -
Bot Service - Bot Service | Microsoft Docs
• ボットの単体テスト - Bot Service - Bot Service | Microsoft Docs
• Azure Bot Service にデプロイすることで真価を発揮する
• 各種チャンネルとの連動、PaaS として運用できる
• Cognitive Services との相性抜群!
• 共通のコードでさまざまなチャットプラットフォームに対応できる
機能面でもっと知りたい方は、
Cogbot Meetup Online - 今から始めるシリーズをご期待ください♪
ご期待に沿えるよう、アンケートにご協力ください🙏 →
TypeScript / JavaScript で
Bot Framework はじめるには
デモ中心でお届けします👩‍💻
仕組み
• Bot Builder
• Bot Builder を利用していプロジェクトを作成すると、 restify というREST
のフレームワークと組み合わせて構成される(APIとして構成できれば個のフ
レームワークである必要はない)
• デプロイ用のARMテンプレートやスクリプトも生成される
• JavaScript と TypeScript は大体同じ
• サンプルも豊富
• https://github.com/Microsoft/BotBuilder-Samples/
プロジェクトの構成
Azure Bot Service へのデプロイ用のテンプレートとスクリプト
ボットの処理を書くソースコード
Azure Bot Service にデプロイ後のルーティングを定義するファイル
JavaScript/TypeScript の管理ファイル
ActivityHandler
• イベントエミッタ/リスナーパター
ン で実装する
• onMessage()
• onMemberAdded() など
• ボットのしくみ - Bot Service - Bot
Service | Microsoft Docs
デモ - Echo bot
ターン
• ユーザの入力に応える一連の
流れ = ターン
• 通常の会話は、1回のターンで
終わることなく、何回もやり取り
がある場合が多い
= マルチターン
• マルチターンでは、状態保持が
必要
状態の管理
• 状態を保持するストレージの選択
• Memory storage
• Azure Blob Storage
• Azure Cosmos DB partitioned storage
• BotState をベースとした状態クラス
• UserState - ユーザ情報を管理、会話のターンに依存せず利用できる
• ConversationState - 会話に関する状態を管理
• PrivateConversationState – 特定の会話とユーザに紐づく
• 状態の管理 - Bot Service - Bot Service | Microsoft Docs
• ユーザーと会話データを保存する - Bot Service - Bot Service | Microsoft Docs
デモ - State の管理
ダイアログ
• 会話の流れを処理する
• 下図のように様々なパターンのダイアログが用意されている
ダイアログ
• 連続して行われる会話フローの実装 - Bot Service - Bot
Service | Microsoft Docs
• この中でも、アダプティブダイアログは、複雑な流れを管理することが
できる
• アダプティブ ダイアログの概要 - Bot Service | Microsoft Docs
デモ - Dialog を使ってみる
Language Generation
• 文字列のテンプレートを定義できる
• 言語の生成 - Bot Service | Microsoft Docs
# greetingTemplate
- こんばんは! ${user.name} さん
- ${user.name} さん、Cogbot へようこそ!
- 今日の晩御飯はなんでしたか? ${user.name} さん
Ex) greeting.lg
デモ – Language Generation
複数の LUIS や QnA を組み合わせる
• 複数のモデルに問い合わせ、確度が高いモデルからの値を返す
• botdispatch ツールを用いて、ディスパッチ用LUIS を作成する
• 複数の LUIS と QnA モデルを使用する - Bot Service - Bot
Service | Microsoft Docs
LUIS(天気に関するモデル)
※ 今は、 LUIS (Language Understanding Intelligent Service) と言わず、 Language Understanding
という名称ですが、Bot Framework での名称が LUIS のため、ここではその表記に倣います。
LUIS(家電操作に関するモデル)
QnA(利用方法に関するナレッジベース)
電気をつけて Dispatch用LUIS
Bot telemetry
• デフォルトで、チャンネルごとのメッセージ数などは確認できる
• 詳細を知りたい場合は、Application Insights と組み合わせる
• JavaScript/TypeScript の場合はミドルウェアとして追加
• ダイアログに対しても設定できる
• LUIS や QnA Maker などのサービスの使用状況データの取り込み
• ボットへのテレメトリの追加 - Bot Service - Bot Service |
Microsoft Docs
• ボットのテレメトリ データを分析する - Bot Service - Bot Service
| Microsoft Docs
Bot telemetry
Azure Bot Service の Analytics Application Insights
Have fun, tech geeks! 🐱‍🏍
Thanks for watching!
アンケートへのご回答、よろしくお願いします!
Connpass のイベントページにも URL を掲載しています。

More Related Content

PPTX
20200714 cogbot
PPTX
20200809 jcdug lt
PPTX
ノンコーディングでLINE BOTを作ってみた話
PPTX
Web制作的SendGridのススメ SendGridで色々やってみた話
PPTX
Webデザイナーの私がMicrosoft Azureを使うようになったワケ
PDF
クラウドサービスで作成するノンコーディングBot
PDF
サーバーレスWebアプリケーションを作ろう~AWSと比べてみる~
PDF
WebStormでできること
20200714 cogbot
20200809 jcdug lt
ノンコーディングでLINE BOTを作ってみた話
Web制作的SendGridのススメ SendGridで色々やってみた話
Webデザイナーの私がMicrosoft Azureを使うようになったワケ
クラウドサービスで作成するノンコーディングBot
サーバーレスWebアプリケーションを作ろう~AWSと比べてみる~
WebStormでできること

What's hot (20)

PPTX
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
PDF
IDEALIZE YOU
PDF
Concurrent Programm in JavaScript
PPTX
Concurrent Programming in JavaScript
PDF
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
PDF
JekyllとBootstrapを使って静的なブログを作ってみたよ
PPTX
Azure Machine Leaning Workbench の使い方
PDF
とある Perl Monger の働き方
PDF
他システムとの連携開発事例に見る Movable Type の可能性
PDF
Cogbot コミュニティのご紹介 #MSBuild #COM173
PDF
Bot Service 概要
PDF
20140228 Movable Type Seminar
PDF
「Webサービスのつくり方」 のつくり方
PDF
リモート・スマホ・レンタル
PDF
新・ReVIEWパーサについて
PPTX
Movable Typeの権限と承認フロー
PDF
HTML5時代のWebデザイン
PDF
SaCSS vol.56 こんなに素敵なBrackets!
PPTX
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
PPSX
20150808 osc関西@京都
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
IDEALIZE YOU
Concurrent Programm in JavaScript
Concurrent Programming in JavaScript
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
JekyllとBootstrapを使って静的なブログを作ってみたよ
Azure Machine Leaning Workbench の使い方
とある Perl Monger の働き方
他システムとの連携開発事例に見る Movable Type の可能性
Cogbot コミュニティのご紹介 #MSBuild #COM173
Bot Service 概要
20140228 Movable Type Seminar
「Webサービスのつくり方」 のつくり方
リモート・スマホ・レンタル
新・ReVIEWパーサについて
Movable Typeの権限と承認フロー
HTML5時代のWebデザイン
SaCSS vol.56 こんなに素敵なBrackets!
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
20150808 osc関西@京都
Ad

Similar to TypeScript x Bot Framework (20)

PPTX
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
PDF
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
PPTX
LUIS x Azure Bot Service
PDF
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1
PDF
BotFramework と LUIS を使ったアプリの開発
PDF
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
PDF
Microsoft Bot framework 概要
PDF
テキスト書き起こし&読み上げLINEボットを作ってみた
PDF
Skype for Business + Bot + Graph API
PPTX
Bot frameworkでbot入門
PDF
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
PDF
ボット開発でも DevOps! BotBuilder のテスト手法
PDF
AIエージェント勉強会~マイクロソフトの最新技術発表を受けて~ (2025/07)
PDF
チャットボット開発を取り巻く環境と Cogbot コミュニティ
PPTX
Microsoft bot frameworkを触ってみた
PDF
オープンソースBotフレームワークではじめるChatOps
PDF
Bot Framework v4 開発 Tips 2018-11
PDF
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
PPTX
Bot framework概要
PDF
LINE Commumity Microsoft_ConversationalAI_20200409
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
LUIS x Azure Bot Service
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1
BotFramework と LUIS を使ったアプリの開発
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
Microsoft Bot framework 概要
テキスト書き起こし&読み上げLINEボットを作ってみた
Skype for Business + Bot + Graph API
Bot frameworkでbot入門
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
ボット開発でも DevOps! BotBuilder のテスト手法
AIエージェント勉強会~マイクロソフトの最新技術発表を受けて~ (2025/07)
チャットボット開発を取り巻く環境と Cogbot コミュニティ
Microsoft bot frameworkを触ってみた
オープンソースBotフレームワークではじめるChatOps
Bot Framework v4 開発 Tips 2018-11
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
Bot framework概要
LINE Commumity Microsoft_ConversationalAI_20200409
Ad

More from Kazumi OHIRA (20)

PDF
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
PDF
GitHub dockyardコミュニティ 竣工イベント!オープニング資料
PDF
GitHub最新情報キャッチアップ 2023年6月
PDF
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
PDF
高さ比べじゃない、キャリアは歩んできた道
PDF
GitHub Copilotとともに次の開発体験へ
PDF
突如登場したAzure Developer CLIでなにができるのか?検証してみる
PDF
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...
PDF
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
PDF
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
PDF
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
PDF
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
PDF
女性エンジニアコミュニティから見える価値観のリアル
PDF
「あの人の自分戦略を聞きたい!2022」~ 大平かづみの場合
PDF
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
PDF
本領を発揮するために、まずバリアを開放できる場を
PDF
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
PDF
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
PDF
Code Polaris 紹介(Woman type イベント「女性エンジニアのキャリアのお悩み相談室 with Code Polaris」)
PDF
Azure Rock Star Community Day #2 - Cogbot Community スタッフが選ぶ Microsoft Learn コ...
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
GitHub dockyardコミュニティ 竣工イベント!オープニング資料
GitHub最新情報キャッチアップ 2023年6月
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
高さ比べじゃない、キャリアは歩んできた道
GitHub Copilotとともに次の開発体験へ
突如登場したAzure Developer CLIでなにができるのか?検証してみる
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
女性エンジニアコミュニティから見える価値観のリアル
「あの人の自分戦略を聞きたい!2022」~ 大平かづみの場合
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
本領を発揮するために、まずバリアを開放できる場を
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
Code Polaris 紹介(Woman type イベント「女性エンジニアのキャリアのお悩み相談室 with Code Polaris」)
Azure Rock Star Community Day #2 - Cogbot Community スタッフが選ぶ Microsoft Learn コ...

Recently uploaded (7)

PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
Working as an OSS Developer at Ruby Association Activity Report 2025
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)

TypeScript x Bot Framework