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
会話を分析するAIアシスタントの実装 (Unity × OpenAI API × AWS)
Search
Dara / Shidara Kota
July 05, 2023
Technology
0
140
会話を分析するAIアシスタントの実装 (Unity × OpenAI API × AWS)
「XRでこんなのつくったよ選手権 + MeetUp」
https://flamers.connpass.com/event/287120/
で発表した内容です。
Dara / Shidara Kota
July 05, 2023
Tweet
Share
More Decks by Dara / Shidara Kota
See All by Dara / Shidara Kota
CA.unity#7 Windows/Macの証明書の取得と、署名済みインストーラーを作成するビルドプロセスの紹介
dara_dara
0
1.5k
Zip配布の卒業 インストーラーはいいぞ!
dara_dara
0
44
ビジネスサイドでもわかる ドメイン駆動設計とは?
dara_dara
0
120
素早いリリースと自身のCTO化を実現した爆速成長サイクルを振り返る
dara_dara
0
240
初心者必見!Unityを用いた、cluster worldと自作VRアプリの作り方
dara_dara
0
64
日常と照らし合わせて理解するSOLID原則
dara_dara
0
180
VRMアバターのキャリブレーションや表情設定とマルチプレイ同期
dara_dara
0
220
Other Decks in Technology
See All in Technology
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
250
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
830
C# 14 / .NET 10 の新機能 (RC 1 時点)
nenonaninu
1
1.3k
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.7k
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
240
DataOpsNight#8_Terragruntを用いたスケーラブルなSnowflakeインフラ管理
roki18d
1
300
RailsのPostgreSQL 18対応
yahonda
0
1.2k
GopherCon Tour 概略
logica0419
2
160
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
21
14k
北海道の人に知ってもらいたいGISスポット / gis-spot-in-hokkaido-2025
sakaik
0
190
2重リクエスト完全攻略HANDBOOK / Double Request Handbook
shoheimitani
5
7.2k
AWSのProductのLifecycleについて
stknohg
PRO
0
300
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
RailsConf 2023
tenderlove
30
1.2k
Designing Experiences People Love
moore
142
24k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Optimizing for Happiness
mojombo
379
70k
Gamification - CAS2011
davidbonilla
81
5.4k
Become a Pro
speakerdeck
PRO
29
5.5k
Typedesign – Prime Four
hannesfritz
42
2.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
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の部分
メタバースならではの体験づくりを