毎年恒例 meetup app osaka@9 でAIアシスタントぽいのを作る話をしてきました。
大阪でやってる割とゆるいイベントで、なんとなくみんな好きな技術の話とかする会です。今回も濃い話が多くておもしろかったです。
- [勉強会] meetup app osaka@9を開催しました
- C#でC#コンパイラを作っている話 | ドクセル
- meetup app osaka@9 で SQL Server ベクトル検索の話しをしてきました #meetupapp – お だ のスペース
- asp.net core mvcと .net core 3.1時代に作って .net 6に上げてから手を入れてない namelessを現代的にしたい話 | ドクセル
- LTで聞いた .NET 8用Treemapライブラリ:panda728 / SquarifiedTreemapLayers
- roslyn/docs/features/interceptors.md at main · dotnet/roslyn
自分はというと数年越しにAIアシスタントぽいのを作った話をしてきました。詳細はスライド見てもらうとして、補足など。
まずは紹介したツールです。
- tegnike/aituber-kit: A web application for chatting with AI characters that anyone can easily set up and deploy.
- uezo/ChatdollKit: ChatdollKit enables you to make your 3D model into a chatbot
- uezo/aiavatarkit: Building AI-based conversational avatars lightning fast ⚡️
- 【特別付録つき】DifyとAIAvatarKitで作る、持続的に成長可能な音声対話AIキャラクター|うえぞう
- uezo/chatdollkit-aituber: A RESTful API server to control ChatdollKit-based AITuber
- litagin02/Style-Bert-VITS2: Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.
- VOICEVOX | 無料のテキスト読み上げ・歌声合成ソフトウェア
- VB-Audio Virtual Apps
で、パッチワークということでこれらを組み合わせて以下のような感じに。セッションでも話ましたけど目的によってはこんなにややこしくする必要はないですね。
準備は割と面倒ですがそれっぽい動きにはなりました。あとはもうちょっとレイテンシー下げたいですね。ローカルのSLMとかも組み合わせたり活用したい。STT/TTSの処理を個別に挟まない、音声 → LLM(Realtime API)→ 音声がネットワーク越しでも早いんだよなぁ。。
ちなみに会話用クライアントの部分は Azure OpenAI Service Realtime Audio SDKのサンプルをカスタマイズしたものを使ってます。
元がMITライセンスのものを使って弄ったのを公開するときのライセンスどうするのかぱっと思いつかなかったのでForkして追加しました。(TTSの部分増やしたりコマンドラインツールとして使いやすくしたりした程度です)
せっかく買ったLooking Glass Goも活用していければなぁ~
という感じでした。