Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「画像DE路線当てBot」で学ぶBot開発 / cogbot#8
Search
HikaruMaruyama
August 30, 2017
Programming
1
710
「画像DE路線当てBot」で学ぶBot開発 / cogbot#8
HikaruMaruyama
August 30, 2017
Tweet
Share
More Decks by HikaruMaruyama
See All by HikaruMaruyama
OSS CMS「Drupal 10」 エッセンシャル:最新版でのWeb開発の魅力を探る #oscnagoya
hmaruyama
0
260
スタイリッシュでモダンな「Gin」管理テーマの紹介 #drupal_haneda
hmaruyama
0
210
DrupalのWeb Profiler #drupal_haneda
hmaruyama
0
320
非エンジニアから開発者まで!DrupalPodを使用したDrupal環境の作成
hmaruyama
1
320
Drupal認定試験にチャレンジしよう!アクイア認定プログラムのご紹介 / introduction of Acquia Drupal Certification Program
hmaruyama
0
980
「Docker/Kubernetes実践コンテナ開発入門」学習のポイント #dockerbg / 20191108
hmaruyama
0
130
enebularでobnizを Lチカ してみた #enebular / 20181122
hmaruyama
0
570
駅すぱあとWebサービス連携ハンズオンパート ノンプログラミングでClovaスキルハンズオン&お茶会 #linebootawards #Clova_CEK / 20180919
hmaruyama
1
620
Agent Friends Xperia Ear Duoで誰でも コミュニケーションにコミット #linebootawards / 20180826
hmaruyama
0
110
Other Decks in Programming
See All in Programming
AIともっと楽するE2Eテスト
myohei
8
3k
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
260
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
9
4.1k
Hack Claude Code with Claude Code
choplin
7
2.6k
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
990
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
170
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
200
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
1.1k
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
130
GPUを計算資源として使おう!
primenumber
1
250
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
1k
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
99
37k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
What's in a price? How to price your products and services
michaelherold
246
12k
Git: the NoSQL Database
bkeepers
PRO
430
65k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
ୈ8ճ Cogbotษڧձ גࣜձࣾϰΝϧݚڀॴ ؙࢁͻ͔Δ ʮը૾DE࿏ઢͯBotʯ ͰֶͿBot։ൃ
Profile ؙࢁͻ͔Δ גࣜձࣾϰΝϧݚڀॴ ςΫχΧϧΤόϯδΣϦετ ਆಸݝ૬ݪࢢࡏॅ IJLBSVNBSVZBNB !NBSVZBNBIJBLSV IUUQIJJJJJJJIJLBSVIBUFOBEJBSZDPN
None
ઃཱ : 1976/7/26 ॴࡏ : ౦ژਿฒ۠ߴԁࣉ ैۀһ: 159໊(2017/4ݱࡏ)
1988 ࠃॳͷҊιϑτ Ӻ͢ͺ͋ͱ ͕ੜ͠·ͨ͠ɻ ݸਓར༻͚ͩͰͳ͘ɺ ϏδωεγʔϯͰଟ͘ͷ ࠾༻࣮͕͋Γ·͢ɻ Έͳ͞Μ͝ଘ Yahoo࿏ઢਤ
Ӻ͢ͺ͋ͱͷΤϯδϯͰ͢ɻ “Ҋ”ͷձࣾͰ͢
Ӻ͢ͺ͋ͱΛ࣠ʹ ༷ʑͳࣄۀΛల։͍ͯ͠·͢
ຊͷຊɿ Microsoft Bot framework ͦͷଞॾʑΛ༻͍ͨ Bot։ൃͷݟڞ༗
Ռ
΄Μͱ͜͏Γ͔ͨͬͨorz
ͬͨπʔϧ • Bot࣮ • Bot Builder SDK for Node.js •
࿏ઢΛఆ͢Δ෦ • cognitive services custom vision service • ӺΛऔಘ͢Δ෦ • Ӻ͢ͺ͋ͱWebαʔϏε • BotͷσϓϩΠઌ • azure • σϓϩΠͨ͠BotΛWebͰ؆୯ʹެ։͢Δ • microsoft bot framework
ؙࢁͷεςʔλε • ॳΊͯ৮Δ • azure • microsoft bot framework •
গ͠৮ͬͨ͜ͱ͕͋Δ • nodejs • ʮৄ͍͠ʯͱࣗ৴Λ࣋ͬͯݴ͑Δ • Ӻ͢ͺ͋ͱwebαʔϏε
গ͠ઢ…
Ӻ͢ͺ͋ͱ WebαʔϏε
“Ӻ͢ͺ͋ͱ”͕࣋ͭ ༷ʑͳػೳใΛ WebAPIͱͯ͠ఏڙ͠·͢ ͲΜͳαʔϏεʁ
ҊαʔϏεͪΖΜ ަ௨අਫ਼ࢉγεςϜɺ ෆಈ࢈ٻਓαΠτͰΑ͘ݟΔ ʮ௨ۈ/௨ֶ͔Β୳͢ʂʯͰ ΘΕΔ͜ͱ͕ଟ͍Ͱ͢ɻ ࣗࣾαʔϏεͷཪͰଟʑɻ ͲͷΑ͏ʹར༻͞Ε͍ͯΔͷʁ
ຊʹΓ·ͯ͠…
࡞खॱ 1. custom vision serviceͷઃఆ 2. Bot BuilderΛ༻͍ͨBot࣮ 3. BotΛazureʹσϓϩΠ
4. microsoft bot frameworkͷઃఆ
1. custom vision service ͷઃఆ • ҎԼͷURLͰΞΧϯτΛ࡞͠·͢ • https://azure.microsoft.com/ja-jp/services/ cognitive-services/custom-vision-service/
• େ࠼ࢠ͞Μͷqiitaهࣄ͕ຊʹΘ͔Γ͔ͬͨ͢Ͱ͢ • http://qiita.com/annie/items/ 293525901020685ad5f6 • ͜ΕΛΈͳ͕Βϙνϙνઃఆ͍͚ͯͩ͘͠
2. Bot BuilderΛ༻͍ͨ Bot࣮ • Bot Buildernodejs, C#͔બͰ͖ΔͷͰɺ ͓͖ͳํΛ •
ಓͷΓ͍ͷͰɺ͜͜αΫοͱ • ·ͣ࠷ॳɺެࣜυΩϡϝϯτʹॻ͍ͯ͋Δ௨Γ ʹ࣮ߦͯ͠ΈΔͷ͕٢ • https://docs.microsoft.com/en-us/bot- framework/nodejs/bot-builder-nodejs-quickstart • ͜͜ʹՌ(ιʔείʔυ)Λஔ͍ͯ·͢ • https://github.com/hmaruyama/train-finder-bot
2. Bot BuilderΛ༻͍ͨ Bot࣮ • ωοτ্ʹnodejsͷใ͕গͳ͍(ѹతC#) • nodejsͰcustom vision apiΛݺͼग़͢ࡍʹศརͳϥΠϒϥϦ
ͳ͍͔ͳʔͱௐ͍ͯͨΒɺcognitive servicesͷSDK͕ ͋Δ͜ͱΛൃݟ • https://github.com/joshbalfour/node-cognitive-services • ͔͠͠custom vision·ͩະରԠͩͬͨ • custom vision apiɺը૾Λఆ͢ΔAPIΛݺͼग़͢ࡍʹɺ ը૾ϑΝΠϧ·ͨը૾URLΛPOST͢Δೋͭͷํ๏͕͋Δ͕ɺ ը૾ϑΝΠϧͰૹΔํ๏͕nodejsͰͲ͏Δͷ͔Θ͔Βͳ͔ͬͨ
2. Bot BuilderΛ༻͍ͨ Bot࣮ • nodejsͷதͰӺ͢ͺ͋ͱwebαʔϏε ݺͼग़͍ͨ͠ͷͰɺΞΫηεΩʔΛൃߦ͢Δ • https://ekiworld.net/service/lp/webservice/ •
Ӻ͢ͺ͋ͱwebαʔϏεʹɺnodejsͰ͑Δ ศརͳϥΠϒϥϦ༻ҙ͍ͯ͠ͳ͍ͷͰɺ ࣗͰؤு࣮ͬͯ͢Δ
3. BotΛazureʹσϓϩΠ • azureແྉͰΞΧϯτΛ࡞Ͱ͖·͢ • https://azure.microsoft.com/ja-jp/free/ • μογϡϘʔυʹϩάΠϯͨ͠ΒɺʮWebAppʯΛ࡞ • ࡞࣌ʹOSΛબͰ͖ΔΜ͚ͩͲɺ
ʮWindowsʯʹ͢Δͷ͕ແͩͦ͏ • σϓϩΠํ๏Ұ൪؆୯ͦ͏ͳʮϩʔΧϧGitϦϙδτϦʯΛબ͠·ͨ͠ • σϓϩΠ͕ྃͨ͠ΒɺҎԼͷURLΛୟ͍ͯ ͪΌΜͱϨεϙϯε͕ฦΔ͔֬ೝ • http://{{࡞ͨ͠ϦιʔεͷURL}}/api/messages • git push͢Δ͚ͩͰͳΜͰnode্ཱ͕͕ͪΔͷ͔·ͩཧղͰ͖͍ͯͳ͍
4. microsoft bot framework ͷઃఆ • ҎԼͷURLͰΞΧϯτΛ࡞͠·͢ • https://dev.botframework.com/ •
ϩάΠϯͰ͖ͨΒBotΛొ͠·͢ • Botొ࣌ͷΤϯυϙΠϯτ”https”ͳ͜ͱʹҙ • ઌ΄ͲazureͰ࡞ͨ͠ϦιʔεURLhttpsʹ ରԠ͍ͯ͠ΔΆ͍ • https://{{࡞ͨ͠ϦιʔεͷURL}}/api/messages • Botొ࣌ʹදࣔ͞ΕΔMicrosoft App IDͱpassword ޙ΄Ͳར༻͢ΔͷͰͲ͔͜ʹίϐʔ͓ͯ͘͠
• Botొ͕ࡁΜͩΒɺazureͷμογϡϘʔυʹ ͬͯڥมΛઃఆ͢Δ • ʮΞϓϦέʔγϣϯઃఆʯʹͯBotొ࣌ʹ දࣔ͞ΕͨMicrosoft App IDͱpasswordΛ ڥมʹొ •
ڥม໊ιʔείʔυʹهड़ͯ͋͠Γ·͢ 4. microsoft bot framework ͷઃఆ
• bot frameworkʹϩάΠϯ͢Δͱɺskypeslackɺfacebook messangerͳͲҠΓͦ͠͏ͳΞΠςϜ͕ ฒΜͰ͍·͕͢ɺ͜͜Ұ൪؆୯ͦ͏ͳʮWebChatʯΛબ • WebChatΛΫϦοΫ͢ΔͱɺγʔΫϨοτΩʔͱ htmlຒΊࠐΈίʔυ(iframeλά)͕༻ҙ͞Ε͍ͯ·͢ • ٙɿγʔΫϨοτΩʔͳͥೋͭଘࡏ͢Δʁʁ
• iframeλάͷதʹURL͕هड़͞Ε͍ͯΔͷͰɺ URLΛϒϥβͰ։͖·͢ɻͦͷࡍʹ”YOUR_SECRET_HERE” ͷ෦γʔΫϨοτΩʔʹஔ͖͑Δ 4. microsoft bot framework ͷઃఆ
Ͱ͖ͨʂ
ײ • ؆୯ʹBot͕࡞Ͱ͖·ͨ͠ʂ...ͱݴ͍͍ͨͱ͜Ζ ͚ͩͲɺࢥ͍௨Γʹߦ͔ͳ͍໘͕ଟʑ͋ͬͯ ৺͕ંΕͦ͏ͩͬͨ • ׳ΕΔ·ͰਐΊΔͨͼʹ͕͔͔࣌ؒΓͦ͏ • ࣮ࡍͭ·͍ͮͨ࣌Γ߹͍ʹฉ͍ͯղܾ͍ͯͨ͠ •
ͦΕ͕ͳ͔ͬͨΒࠓൃදͰ͖͍ͯͳ͔͔ͬͨ • ࠷ॳΛΓӽ͑Εɺָ͍͠Bot࡞ʹ ࣌ؒΛׂ͚ͦ͏⽃ • ༨ྗ͕͋Εৄ͍͠खॱΛϒϩάʹ·ͱΊΔ͔Ͱ͢
·ͱΊ • ΤίγεςϜͷ͓͔͛Ͱɺগͳ͍ίʔυྔͰ ৭Μͳ͜ͱ͕αΫοͱͰ͖Δ • ͦͷΘΓʹɺ༷ʑͳαʔϏεΛར༻͢Δ͜ͱ ʹͳΔͨΊɺαʔϏεಠࣗͷ༷खॱΛ ཧղ͢Δඞཁ͕͋Δ
·ͱΊ • ͭ·͍ͮͨ࣌ʹɺ ૬ஊͰ͖ΔॴΛ࡞͓ͬͯ͘ͱ҆৺ • ΈΜͳͰॿ͚߹͍͖͍ͬͯͯͨ͠Ͱ͢Ͷ • ͦͷ࣮ݱʹɺ͜ͷίϛϡχςΟ͕ ͏·͘׆༻Ͱ͖ΔΜ͡Όͳ͍͔ͱࢥ͍·͢
ࠂ
ʮ࿏ઢDEిंͯBotʯ Λ͓ʹɺϋϯζΦϯΛ։࠵͢Δ͜ͱ͕ܾఆ 2017/9/26 19:00 ~ ৄࡉܾ·Γ࣍ୈɺ CogbotίϛϡχςΟ facebookάϧʔϓͳͲͰ ͓ΒͤͰ͖Εͱࢥ͍·͢ɻ