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
音声ファイルから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
460
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
84
自作AIエージェントフレームワーク 「Shikigami (式神 )」を 5分でMCP対応させた話
masachaco
0
230
10分くらいで雑に理解する KubernetesとEKS
masachaco
1
2.2k
API GatewyとS3で作るサーバレス・スタブ
masachaco
0
3k
Other Decks in Technology
See All in Technology
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
180
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
160
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
240
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
150
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
320
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
230
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
4
2.3k
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
120
AIチャット検索改善の3週間
kworkdev
PRO
2
140
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1.3k
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
530
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Curious Case for Waylosing
cassininazir
1
390
30 Presentation Tips
portentint
PRO
1
330
Utilizing Notion as your number one productivity tool
mfonobong
4
320
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
170
Odyssey Design
rkendrick25
PRO
2
700
Color Theory Basics | Prateek | Gurzu
gurzu
0
370
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ʮແԻʯ͕ଓ͍ͯʮൃ్͕Εͨʯͱஅ ͢ΔͨΊ •
ʮແԻʯͷόΠτྻ͕ͳ͍ͱɺͣͬͱͪଓ͚Δɻ