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
会話を分析するAIアシスタントの実装 (Unity × OpenAI API × AWS)
Search
Dara / Shidara Kota
July 05, 2023
Technology
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
会話を分析するAIアシスタントの実装 (Unity × OpenAI API × AWS)
「XRでこんなのつくったよ選手権 + MeetUp」
https://flamers.connpass.com/event/287120/
で発表した内容です。
Dara / Shidara Kota
July 05, 2023
More Decks by Dara / Shidara Kota
See All by Dara / Shidara Kota
CA.unity#7 Windows/Macの証明書の取得と、署名済みインストーラーを作成するビルドプロセスの紹介
dara_dara
0
2.2k
Zip配布の卒業 インストーラーはいいぞ!
dara_dara
0
70
ビジネスサイドでもわかる ドメイン駆動設計とは?
dara_dara
0
170
素早いリリースと自身のCTO化を実現した爆速成長サイクルを振り返る
dara_dara
0
300
初心者必見!Unityを用いた、cluster worldと自作VRアプリの作り方
dara_dara
0
100
日常と照らし合わせて理解するSOLID原則
dara_dara
0
220
VRMアバターのキャリブレーションや表情設定とマルチプレイ同期
dara_dara
0
280
Other Decks in Technology
See All in Technology
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
280
Metadata - Section 1: HTML Basics
mohab1
0
120
Running Kotlin + Quarkus with Lambda
nealle
1
4k
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5.1k
フィンテック養成勉強会#68
finengine
0
150
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
230
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
会社紹介資料 / Sansan Company Profile
sansan33
PRO
31
430k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
120
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
280
WasmをRustにする
sansantech
PRO
0
280
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
590
Site-Speed That Sticks
csswizardry
13
1.6k
Rails Girls Zürich Keynote
gr2m
96
14k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Docker and Python
trallard
47
4.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
ラッコキーワード サービス紹介資料
rakko
1
5.4M
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Transcript
会話を分析するAIアシスタント の実装 (Unity × OpenAI API × AWS) Flamers, Inc.
/ CTO だーら(設楽広太)
自己紹介 だーら / 設楽広太 @3tdara Flamers共同創業者CTO Unity / C# /
Rails / AWSなど 恋愛メタバース Memoria 最近曲を出しました、3曲目
作った(りたい)もの そうですね、僕の好きな食べ物はグミになります。 グミの中 でも特にハード系のグミが好きで、 例えば忍者飯であった り、あとはシュギキックスですね。 両方とも結構硬くて、... この人が理想とする恋愛相手の条件は以下のとおりです。 1. 酸っぱいものが好きな人
この人は、ブドウジュースやザクロジュースやアセロラジュ ースなど、甘いだけでなく酸っぱみもあるジュースが好きだ と言っています。そのため、恋愛相手も同じように酸っぱい ものが好きであることが望まれます。 2. 頑張っている人 この人は、保育園の頃からグミ好きだと話していま../ 文字起こし 分析
メタバースで過ごすだけで、 ・自分によりマッチした人が紹介さ れる(アルゴリズム) ・自分のことが分かる(診断)
最初に思いついた設計 Whisper API 文字起こし ChatGPT API 分析 ① ② ③
④
最初に思いついた設計 Whisper API 文字起こし ChatGPT API 分析 ① ② ③
④ aws_access_key aws_secret_key ↑これらをクライアントに渡したくない!
サーバーのみが 認証情報を持つようにしたい
公式ドキュメント
サーバーからクライアントに対して、 ・一時的に署名されたURLを渡す ・有効期限が切れると使用不可能になる
① aws_access_key aws_secret_key 認証を考えた設計 ② ③ あとは同じ
↓実装はこれだけ!(Ruby) まあ多少は認証部分などはコード書 くけど、簡単! (gem使います) gem 'aws-sdk-s3', '~> 1'
有効期限が切れたら UnityWebRequestException: HTTP/1.1 403 Forbidden <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code> <Message>Request
has expired</Message>... ちゃんとアクセスできません!
ちなみにUnityの実装
録音開始 AudioClip型のインスタンス変数に格納 _recordedClip = Microphone.Start(デバイス名、時間、周波数) 録音終了 Microphone.End() wavに変換 wav変換用クラスはライブラリ利用 byte[]
recordWavData = WavConverter.ToWav(_recordedClip); tmpストレージに保存 S3アップロード UnityWebRequestで普通に上げる(aws用の独自SDKなどは不要だった) tmpを削除 OnDestroyなどのタイミングでtmpに保存したオーディオデータを削除
メモリについて tmpファイルとして書き込むまで、メモリに記憶している 30分の録音で38MBほど サンプリング周波数が大きく影響する。 今回は11025、デフォルトは44100 書き起こしできれば良いので音質は気にしない ↓Profiler (Memory)のScene Memoryの部分
メタバースならではの体験づくりを