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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
masa_charcoal (masachaco)
April 18, 2019
Technology
470
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
90
自作AIエージェントフレームワーク 「Shikigami (式神 )」を 5分でMCP対応させた話
masachaco
0
250
10分くらいで雑に理解する KubernetesとEKS
masachaco
1
2.2k
API GatewyとS3で作るサーバレス・スタブ
masachaco
0
3k
Other Decks in Technology
See All in Technology
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
330
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
610
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.3k
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
7
7.4k
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
2
600
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
1
130
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
130
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
1.3k
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
270
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
220
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
410
PfEingのアプローチで働こう
rindrics
0
190
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Side Projects
sachag
455
43k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
How to build a perfect <img>
jonoalderson
1
6k
Optimizing for Happiness
mojombo
378
71k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
440
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
920
Bash Introduction
62gerente
615
220k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Test your architecture with Archunit
thirion
2
2.4k
So, you think you're a good person
axbom
PRO
2
2.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ʮແԻʯ͕ଓ͍ͯʮൃ్͕Εͨʯͱஅ ͢ΔͨΊ •
ʮແԻʯͷόΠτྻ͕ͳ͍ͱɺͣͬͱͪଓ͚Δɻ