上記サンプルイメージでは、フリー素材キャラクター「つくよみちゃん」 (© Rei Yumesaki)を使用しています。
DjangoOpenAIStreamingChatをベースにOpenAI APIと音声認識にAzure Speech Studioを利用したVRMとの会話アプリを学習として作成しました
Warning
* 本コードはベータ版です。
* AZURE_SPEECH_SERVICE_API キーを現在直接Templateへ渡しており、本番環境ではサーバサイドからの呼び出しが必要です。(調査中)
* 即席のため不要なコードも多く、かなり汚いです。
DjangoTemplateとの差分のみ表示
3Dモデル(.vrm)はお好きなものをおいてください。モデルサイズ等に応じて、 templates/apps/chat/room/include/vrm_script.html のカメラ位置等を修正ください。
サンプルイメージに使用したのはつくよみちゃん公式3Dモデル タイプA「①通常版(VRM)」です。
# RADIS(WebSoocket/Celery)
IS_USE_RADIS = True
AZURE_SPEECH_SERVICE_API_KEY='*** YOUR AZURE_SPEECH_SERVICE_API_KEY ***'
AZURE_SPEECH_SERVICE_REGION='*** YOUR AZURE_SPEECH_SERVICE_REGION ***'
AZURE_SPEECH_SERVICE_LANGUAGE='*** YOUR AZURE_SPEECH_SERVICE_LANGUAGE ***'
OPENAI_API_KEY='*** YOUR OPENAI_API_KEY ***'
RADIS_HOST='*** RADIS HOST ***'
RADIS_PORT='*** RADIS PORT ***'
- terminal(0)
ここでエラーがでる場合には python=3.9.18 を確認してみてください
$ pip install -r requirements-base.txt
$ ProjectSetupBat
$ python manage.py runserver
- terminal(1)
$ RunRedisServer
- terminal(2)
$ RunCeleryWorker
詳細は requirements-base.txt をご覧ください
python=3.9.18
Django==4.2.1
channels==4.0.0
celery==5.4.0
本アプリケーションで使われる各種ライブラリのライセンスは改変したものを含めて本ライセンスには含まれません。各種ライブラリの原ライセンスに従って利用してください。
TREE
DjangoOpenAIVRMChat/
├─accounts
│ ├─forms
│ ├─models
│ │ └─receivers
│ └─views
│ └─send_mail
├─apps
│ ├─access_security
│ │ └─models
│ │ └─receivers
│ ├─chat
│ │ ├─models
│ │ │ ├─ajax
│ │ │ ├─ModelNameChoice
│ │ │ └─query_search
│ │ └─Utils
│ ├─inquiry
│ │ ├─models
│ │ │ └─receivers
│ │ └─views
│ └─user_properties
│ ├─models
│ └─views
├─common
│ ├─lib
│ │ ├─axes
│ │ ├─social_core
│ │ └─social_django
│ ├─scripts
│ │ ├─DjangoUtils
│ │ ├─LlmUtils
│ │ └─PythonCodeUtils
│ └─views
├─config
│ ├─acsess_logic
│ ├─admin_protect
│ ├─extra_settings
│ └─security
├─media
│ └─apps
│ ├─chat
│ │ └─ai_icon
│ └─user_profile
│ └─user_icon
├─static
│ ├─apps
│ │ ├─chat
│ │ │ │─ai_icon
│ │ │ │ └─default
│ │ │ └─vrm
│ │ └─user_profile
│ │ └─user_icon
│ │ └─default
│ └─templates
│ ├─apps
│ │ └─chat
│ │ └─css
│ ├─base
│ ├─common
│ │ ├─css
│ │ ├─func
│ │ └─lib
│ ├─meta_image
│ └─pages
│ └─home
├─templates
│ ├─accounts
│ │ ├─AccountDelete
│ │ ├─AccountLock
│ │ ├─EmailChange
│ │ │ └─mail_template
│ │ ├─LogIn
│ │ ├─PasswordChange
│ │ ├─PasswordReset
│ │ │ └─mail_template
│ │ ├─SignUp
│ │ │ └─mail_template
│ │ ├─TokenDelete
│ │ └─UserIdSet
│ ├─apps
│ │ ├─chat
│ │ │ ├─include
│ │ │ └─room
│ │ │ └─include
│ │ │ └─feedback
│ │ ├─inquiry
│ │ │ └─inquiry_form
│ │ │ └─notice_admin_mail_template
│ │ └─user_properties
│ │ ├─asset
│ │ │ └─sidenav
│ │ └─Settings
│ ├─common
│ │ ├─asset
│ │ └─debug
│ └─pages
│ ├─general
│ └─home
└─templatetags