Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
音声ファイルからGoogle Homeや、Google Assistant アプリのテストを...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
masa_charcoal (masachaco)
April 18, 2019
Technology
480
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
音声ファイルからGoogle Homeや、Google Assistant アプリのテストを自動実行してみる。
masa_charcoal (masachaco)
April 18, 2019
More Decks by masa_charcoal (masachaco)
See All by masa_charcoal (masachaco)
自作のエージェントフレームワーク Shikigami Framework と そのMCPサーバ化について (フル)
masachaco
0
98
自作AIエージェントフレームワーク 「Shikigami (式神 )」を 5分でMCP対応させた話
masachaco
0
260
10分くらいで雑に理解する KubernetesとEKS
masachaco
1
2.2k
API GatewyとS3で作るサーバレス・スタブ
masachaco
0
3.1k
Other Decks in Technology
See All in Technology
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
React改造してみた
tsukina_7mochi
0
120
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
130
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
170
会社説明資料
persolserverworks
0
9.8k
Optunaの最新リリースv5.0について
pfn
PRO
0
120
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
620
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
300
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
430
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
The Limits of Empathy - UXLibs8
cassininazir
2
720
Building AI with AI
inesmontani
PRO
1
1.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Transcript
ԻϑΝΠϧ͔Β Google Home ɺ Google Assistant ΞϓϦͷɺ ςετΛࣗಈ࣮ߦͯ͠ΈΔɻ
ࣗݾհ HN:·ͪ͞Ό͜ • ۂͱ͔࡞ΔϓϩάϥϚ ܥ SIer • Java / nodejs
/ terraform ͳͲͳͲ • αʔόαΠυΞϓϦɺεϚʔτεϐʔΧʔΞϓϦͷ։ൃ • ٶͪΌΜͷসإۦಈ։ൃ • TwitterͰϛΫ͞ΜୡͷۂΛެ։தʂ • Twitter • @masachaco • GitHub • https://github.com/masachaco • SoundCloud • https://soundcloud.com/masa_charcoal • niconico • https://www.nicovideo.jp/mylist/11613193
εϚʔτεϐʔΧʔ ศརͰ͢ΑͶ
ศར ͚ͩͰૢ࡞Ͱ͖Δ ख͕͑ͳ͍࣌ʹɺಛʹศར • ேɺ͓෩࿊্͕ΓʹΛ১͖ͭͭʮࠓԿ࣌ʁʯ • ͓ஂ͔ΒిؾɾΤΞίϯফͯ͠( ˘ω˘)ţźō • खΛಈ͔ͨ͠··ɺradiko͚ͭͨΓ
• Amazon Music࠶ੜͨ͠Γ
Assistant ΞϓϦͷΈ(Ұྫ) 0, (PPHMFɺ ʮٶͪΌΜ͔Θ͍͍ʯ ͬͯΞϓϦ Λ։͍ͯ
Assistant ΞϓϦͷΈ(Ұྫ) ͜ͷਓ͜Μͳ͜ͱ ݴͬͯΔΜ͚ͩͲ
Assistant ΞϓϦͷΈ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍Λ։͍ͯʯ ͩͬͯʂ
Assistant ΞϓϦͷΈ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍ʯ ͕ىಈͨ࣌͠ͷॲཧΛ࣮ߦͯ͠
Assistant ΞϓϦͷΈ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍ʯ ͕ىಈͨ࣌͠ εϐʔΧʔ ʮٶͪΌΜ͔Θ͍͍ʂʯ ͱݴͬͯʂ
Assistant ΞϓϦͷΈ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍ʂʯ
Assistant ΞϓϦͷΈ(Ұྫ) ʮͬͨʔʔʔʔʔʔʔʔʂʯ
Assistant ΞϓϦͷΈ(Ұྫ) ʮͬͨʔʔʔʔʔʔʔʔʂʯ
Assistant ΞϓϦͷΈ(Ұྫ) ʮͬͨʔʔʔʔʔʔʔʔʂʯ
ςετΛͯ͠Έ͍ͨ
ςετΛͯ͠Έ͍ͨ(αʔόଆ) ʮٶͪΌΜ͔Θ͍͍ ͬͯΞϓϦ ͕ىಈͨ࣌͠ͷॲཧΛ࣮ߦͯ͠ʯ ͬͯݴΘΕͨΒ ʮٶͪΌΜ͔Θ͍͍ʂʂʯ ͬͯεϐʔΧʔ͕ݴ͏Α͏ʹࢦࣔͨ͜͠ͱΛ֬ೝ͢Δɻ +6OJU KFTU
ςετͮ͠Β͍ॴ
ςετͮ͠Β͍ॴ ͜ͷԫ৭͍ͱ͜ΖΒΜ͕ ςετͮ͠Β͍
ςετͮ͠Β͍ॴ • ԻΛೝࣝ͢Δॴ(AoG)ʑมԽ͢Δ • ೖྗ͞ΕͨจݴΛೝࣝ͢ΔॴʑมԽ͢Δ
ςετͮ͠Β͍ॴ • ԻΛೝࣝ͢Δॴ(AoG)ʑมԽ͢Δ • ೖྗ͞ΕͨจݴΛೝࣝ͢ΔॴʑมԽ͢Δ ԻΛೝࣝͯ͠ɺ ςΩετʹม͢Δॴ
ςετͮ͠Β͍ॴ • ԻΛೝࣝ͢Δॴ(AoG)ʑมԽ͢Δ • ೖྗ͞ΕͨจݴΛೝࣝ͢ΔॴʑมԽ͢Δ ೖྗ͞ΕͨจݴΛೝࣝͯ͠ɺ αʔόͷϦΫΤετʹม͢Δॴ
ςετ͢ΔϑϨʔϜϫʔΫ͕͋Δ
͘͠Έ ύιίϯͷதͰ (PPHMF"TTJTUBOU Λ্ཱͪ͛ͯ ςΩετͷ ϦΫΤετΛૹΔ
ԻΛૹ৴ͯ͠ ϦΫΤετ ͍ͯ͠ΔΘ͚Ͱͳ͍
Actions on Google Testing LibraryͷࠔΔॴ • ςΩετܗࣜͷϦΫΤετͳͷͰɺ Իೝࣝ͠ͳ͍ɻ • ͳͷͰςΩετͰOKͰɺൃͯ͠ΈΔͱɺ
μϝͳ͜ͱ͕͋Δɻ • ྫɿʮOk Google, ؋͜Εͷൺӥ͞Μʹ͍ͭͯڭ͑ͯʯ • → ʮ͍ɺൺӥࢁʹ͍ͭͯɻɻɻɻʯ
Իͷೝࣝ෦ ʑมԽ͠ ϒϥοΫϘοΫε
ςετͱ·Ͱ͍͔ͳͯ͘ ࣍Ͱɺఆ͍ͯ͠ΔൃΛ ਖ਼͘͠ೝࣝͰ͖͍ͯΔ͔ࢹ͍ͨ͠
ͳͷͰ࡞Δ
Իೝ͔ࣝΒςετͰ͖Δ ϑϨʔϜϫʔΫΛ࡞Δ • جຊతͳΈɺલड़ͷϑϨʔϜϫʔΫͱಉ ͡(PC্ͰAssistantΛىಈͯ͠ϦΫΤετ) • ϦΫΤετʹwavϑΝΠϧΛࢦఆͰ͖ΔΑ͏ʹ ͯ͠ɺԻΛೝࣝͤͯ͞ϦΫΤετ͢Δ • nodejs͔Β࣮ߦͰ͖ΔΑ͏ʹ͢Δ
Assistant SDK • Google AssistantΛར༻͢ΔΫϥΠΞϯτΛ࡞ ͢ΔͨΊͷSDK • ຊདྷεϚʔτεϐʔΧʔͱ͔Λ࡞Δ߹ʹɺ ΈࠐΈ͚Ͱ͏
υΩϡϝϯτΛಡΜͰΈΔ
υΩϡϝϯτΛಡΜͰΈΔ ͍͍͔ΒαϯϓϧίʔυΛಡΊɻ ͦΕ͔Βͩ ͱ͍͏ڧ͍ҙࢤ
αϯϓϧίʔυΛಡΜͰΈΔ
nodejs൛ͷαϯϓϧ͋Δ
΄΅ɺॻ͍ͨ͜ͱͳ͍͚Ͳ Pythonಡ͏
PythonͷίʔυͰΘ͔ͬͨ͜ͱ • nodejs൛ʹൺ͍ͯͩͿॆ࣮࣮͕ͨ͠͞Εͯ ͍Δ • ςΩετ͔ΒͷϦΫΤετ • ϚΠΫ͔ΒͷϦΫΤετ • ԻϑΝΠϧ͔ΒͷϦΫΤετ
• ϨεϙϯεͷεϐʔΧʔग़ྗ • ϨεϙϯεͷԻϑΝΠϧग़ྗ • ͳͲͳͲ
PythonͷίʔυͰΘ͔ͬͨ͜ͱ • Assistantͷαʔόͱͷ௨৴gRPCͰߦ͏ɻ • ·ͣɺೝূΒͳΜΒͨ͠ޙ ௨ৗςΩετΫΤϦΛૹΔ࣌ͷઃఆʹՃ͑ͯɺ ʮAudioInConfigʯΛઃఆ͢Δ • ʲઃఆ༰ʳ •
ૹΔΦʔσΟΦͷαϯϓϦϯάϨʔτ • ϑΥʔϚοτ
PythonͷίʔυͰΘ͔ͬͨ͜ͱ • AudioInConfigΛઃఆͯ͠ɺͦͷઃఆ༰ΛૹΔɻ • ͦͷޙɺΦʔσΟΦͷόΠτྻΛૹΔɻ • Google ͕ ʮΦοέʔɺԻ͕ԿݴͬͯΔ͔શʹཧղͨ͠ʯ ঢ়ଶʹͳΔͱɺʮEND_OF_UTTERANCEʯ
ͷίʔυ͕ૹΒΕɺൃʹରͯ͠Ϩεϙϯεͯ͘͠Δɻ
PythonͷίʔυΛ nodejsͷ αϯϓϧίʔυʹҠ২ ͯ͠ΈΔ
͏·͘ಈ͔ͳ͍
͏·͘ಈ͔ͳ͔ͬͨॴ • AudioInConfigͷઃఆΛͯ͠ૹ͔ͬͯΒɺ Google͔ΒϨεϙϯε͕͋Δ·Ͱ AudioΛૹͬͯμϝ • AudioInConfigʹର͢ΔϨεϙϯε͕͋ͬͯ ͔ΒૹΔɻ
͏·͘ಈ͔ͳ͔ͬͨॴ2 • ΦʔσΟΦͷόΠτྻҰؾʹૹͬͯμϝ • Pythonͷίʔυͩͱ3.2KBͣͭ͘Β͍ • Ҡ২൛ಉ༷ʹ3.2KBͣͭ͘Β͍ૹΔ
͏·͘ಈ͔ͳ͔ͬͨॴ3 • ΦʔσΟΦʮϞϊϥϧʯͰ͋Δ͜ͱ • Իͯ͠Δ࣌ʹ ʮϞϊϚΠΫ͔ͩΒϞϊϥϧͰԻ͞ΕͯΔͰ͠ΐʯ ͱࢥ͍ࠐΜͰ͍ͨɻ ͬͪΓεςϨΦͩͬͨ
͠Βͯ͘͠
Ͱ͖ͨ
σϞͯ͠ΈΔ
σϞ༻ΞϓϦ • ʮٶͪΌΜ͔Θ͍͍ʹͭͳ͍Ͱʯͱݴ͏ • ʮ͍ɺٶͪΌΜ͔Θ͍͍ͷςετόʔδϣϯͰ͢ɻʯ ʮٶͪΌΜ͔Θ͍͍ɻʯͱฦ͞ΕΔɻ • ʮͬͨʔʔʔʔʔʔʂʯͱݴ͏ɻ • ʮͬͨʔʔʔʔʔʔʂʯͱฦ͞ΕΔɻ
• ʮऴྃɻʯͱݴ͏ • ΞϓϦ͕ऴྃ͢Δɻ
Ի͕ఆ௨Γೝ͍ࣝͯ͠Δ͔ ςετ͢ΔͨΊʹ • Իͷೝࣝ݁Ռ͕ɺ ʮ͋Β͔͡Ί༻ҙͨ͠ςΩετͱҰக͢Δ͔ʯ ͱ͍ͬͨςετʹ͢Δͷएׯແɻ • ൃೝࣝ༳ΕΔͷͰ༻ҙ͢ΔςΩετ͕େ • ʮϥδίΛ͚ͭͯʯ
• ʮradikoΛ͚ͭͯʯ • ʮradiko(εϖʔε)Λ͚ͭͯʯ
Dialogflowͷ ϦΫΤετ݁Ռͱಥ͖߹ΘͤΔ • Dialogflow͕αʔόʹϦΫΤετΛૹΔछྨ ʮΠϯςϯτʯ͝ͱʹఆٛ͞Ε͍ͯΔɻ (ޠฐ͕͋Γ·͕͢) • ͳͷͰɺൃͨ݁͠Ռ͕ɺతͷΠϯςϯτͷ ࣮ߦ͢Δ͜ͱʹղऍ͞Ε͍ͯΔ͔ݕূ͢Δɻ
ςετίʔυ
·ͱΊ • ԻͰɺGoogle Assistant͕ఆ௨ΓͷڍಈΛ͢Δ͔ςετͰ͖ ͨɻ • ͨͩɺೝࣝ༳ΕΔͷͰɺςετͱ͍͏ΑΓೝ͕ࣝมΘͬͯΞϓ Ϧ͕ಈ͔ͳ͘ͳ͚ͬͨ࣌ͷࢹʹ͍ۙɻ • લೝࣝͯͨ͠ͷʹɺٸʹಈ͔ͳ͘ͳͬͨʙʙʙʂʹૣ͘ؾ͚ͮ
ͦ͏ɻ • ϦάϨογϣϯςετͱָ͔͕ʹͳΓͦ͏ • εϚʔτεϐʔΧʔָ͍͠ɻ։ൃָ͍͠ɻٶͪΌΜ͔Θ͍͍ɻ
ҎԼͷURLͰϥΠϒϥϦԽͯ͠ެ։༧ఆ • https://github.com/masachaco/google-assistant-test-from-wavefile
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
ؾʹͳͬͯͨͱ͜Ζͱ݁Ռ • wavϑΝΠϧͷσʔλΛૹ৴͢Δ࣌ • ConfigͱΦʔσΟΦҰॹʹૹ͍͍ͬͯͷʁ • μϝɻConfigૹ͔ͬͯΒɺΦʔσΟΦ • wavͷϔομͱؚ͔Ίͯૹͬͯେৎʁ •
ҰԠେৎɺೝࣝͷϊΠζʹͳͬͯΔ͔ • ΦʔσΟΦσʔλͷૹ৴ִؒʁ • ެࣜʹʮϦΞϧλΠϜʹૹ৴͍ͯ͠ΔΑ͏ʹૹΕʯ ͱॻ͍ͯ͋Δɻ • ࣮ࡍɺ݁ߏ͍ײ֮ͰૹͬͯେৎɻγϏΞ͡Όͳ͍ɻ
໘ന͔ͬͨͱ͜Ζ • wavϑΝΠϧͷσʔλΛૹ৴͢Δ࣌ • wavϑΝΠϧΛૹΓͬͯɺ 0ຒΊͨ͠όΠτྻΛૹΓ͚ͭͮΔඞཁ͕͋Δɻ • AssistantʮແԻʯ͕ଓ͍ͯʮൃ్͕Εͨʯͱஅ ͢ΔͨΊ •
ʮແԻʯͷόΠτྻ͕ͳ͍ͱɺͣͬͱͪଓ͚Δɻ