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
180
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.1k
Zip配布の卒業 インストーラーはいいぞ!
dara_dara
0
69
ビジネスサイドでもわかる ドメイン駆動設計とは?
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
270
Other Decks in Technology
See All in Technology
手を動かして実感する、Kiro が変える開発体験
inariku
0
360
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
32
32k
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
540
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
110
LLMに渡さなかった仕事
nanaism
0
12k
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
120
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
120
Goodbye ShellScript, Hello File-based App
shunsock
0
1.1k
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
140
Harness Engineering on Rails
joelq
0
560
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
6
770
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
180
Featured
See All Featured
New Earth Scene 8
popppiees
4
2.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
530
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Rails Girls Zürich Keynote
gr2m
96
14k
GraphQLとの向き合い方2022年版
quramy
50
15k
Un-Boring Meetings
codingconduct
0
430
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
RailsConf 2023
tenderlove
30
1.6k
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の部分
メタバースならではの体験づくりを