aws-samples / amazon-sumerian-hosts

Amazon Sumerian Hosts (Hosts) is an experimental open source project that aims to make it easy to create interactive animated 3D characters for Babylon.js, three.js, and other web 3D frameworks. It leverages AWS services including Amazon Polly (text-to-speech) and Amazon Lex (chatbot).
MIT No Attribution
175 stars 80 forks source link

Where is the Sumerian Dashboard? #143

Closed anespo closed 1 year ago

anespo commented 1 year ago

Hello,

I am pretty new with Sumerian and I cloned this repo in my personal mac and run the Demo hosts for Lex chatbot, but when I ask the host something nothing happen. I have few questions:

1 - Can I run this in a EC2 instance with a proper domain rather than my locahost? 2 - How can I interact with the Lex Bot? 3 - Where is the Sumerian dashboard in aws console? I tried several times but the only thing I see in any region is just 3 documentations links. Any help please? Tony

Krxtopher commented 1 year ago

Tony, here are some answers that may help...

  1. Web applications that you build using the Sumerian Hosts NPM modules in this repository can be deployed to any regular web server, including a server running on EC2 or - even easier - AWS Amplify's drag-and-drop hosting solution. However, the demos we've included are not themselves directly deployable to a webserver. We realize this is inconvenient and is something we hope to change in the future. If you have an immediate need for deployable versions of the demos, let me know so I can look into a potential workaround for you. But if you're starting your own custom project from scratch using one of the guides we've provided in each module's README (like this README for the Babylon.js version) you should have no problem deploying your project to any web server.

  2. If you run the Babylon demos locally via npm run start-babylon, you'll see a "Chatbot" demo listed. Click on that and follow the onscreen prompts to interact with the Lex chatbot. If you are having troubles with that chatbot, please describe in more detail what you are experiencing.

  3. The open source Sumerian Hosts modules in this repository are designed to be used with Babylon.js or Three.js. They have no dependency on the AWS Sumerian service itself (which is an alternative to Babylon.js and Three.js.)

If you need more help just let us know!

anespo commented 1 year ago

Thanks a lot Kris, really appreciate your help. Let me respond to the different help points:

For point 1 I don't think I do not really need the feature right now. I can eventually demoing in a screensharing session via Teams using the localhost

For point 2 I did that yesterday and also today and I have the same result. The host pop up greeting me with the welcome message, I chose "rent a car" or "book an hotel" but after I say that everything still in "processing..." status forever. Startup log below: <`npm run start-babylon

amazon-sumerian-hosts@2.0.4 start-babylon
cross-env ENGINE=babylon NODE_ENV=development webpack-dev-server

[webpack-dev-server] Project is running at: [webpack-dev-server] Loopback: http://localhost:8080/ [webpack-dev-server] On Your Network (IPv4): http://192.168.1.98:8080/

[webpack-dev-server] Content not from webpack is served from '/Users/myuser/projects/amazon-sumerian-hosts' directory [webpack-dev-middleware] wait until bundle finished: /packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/ [webpack-dev-middleware] wait until bundle finished: /packages/demos-babylon/src/ assets by path ./packages/demos-babylon/dist/*.js 23.6 MiB asset ./packages/demos-babylon/dist/customCharacterDemo.js 7.26 MiB [emitted] [minimized] (name: customCharacterDemo) 2 related assets asset ./packages/demos-babylon/dist/chatbotDemo.js 5.44 MiB [emitted] [minimized] (name: chatbotDemo) 2 related assets asset ./packages/demos-babylon/dist/gesturesDemo.js 5.44 MiB [emitted] [minimized] (name: gesturesDemo) 2 related assets asset ./packages/demos-babylon/dist/helloWorldDemo.js 5.44 MiB [emitted] [minimized] (name: helloWorldDemo) 2 related assets assets by path ./packages/amazon-sumerian-hosts-babylon/ 19.5 MiB asset ./packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/dist/animationTest.js 7.3 MiB [emitted] [minimized] (name: animationTest) 2 related assets asset ./packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/dist/textToSpeechTest.js 7.29 MiB [emitted] [minimized] (name: textToSpeechTest) 2 related assets asset ./packages/amazon-sumerian-hosts-babylon/dist/host.babylon.js 4.94 MiB [emitted] [minimized] (name: host.babylon) 2 related assets asset ./packages/amazon-sumerian-hosts-three/dist/host.three.js 249 KiB [emitted] [minimized] (name: host.three) 2 related assets asset ./packages/amazon-sumerian-hosts-core/dist/host.core.js 240 KiB [emitted] [minimized] (name: host.core) 2 related assets runtime modules 248 KiB 115 modules javascript modules 10 MiB 1232 modules json modules 2.77 MiB ./packages/amazon-sumerian-hosts-babylon/node_modules/aws-sdk/apis/metadata.json 15.3 KiB [built] [code generated] ./packages/amazon-sumerian-hosts-babylon/node_modules/aws-sdk/apis/sts-2011-06-15.min.json 3.71 KiB [built] [code generated] ./packages/amazon-sumerian-hosts-babylon/node_modules/aws-sdk/apis/sts-2011-06-15.paginators.json 27 bytes [built] [code generated] ./packages/amazon-sumerian-hosts-babylon/node_modules/aws-sdk/apis/cognito-identity-2014-06-30.min.json 7.4 KiB [built] [code generated] ./packages/amazon-sumerian-hosts-babylon/node_modules/aws-sdk/apis/cognito-identity-2014-06-30.paginators.json 155 bytes [built] [code generated] ./packages/amazon-sumerian-hosts-babylon/node_modules/aws-sdk/apis/acm-2015-12-08.min.json 5.13 KiB [built] [code generated] ./packages/amazon-sumerian-hosts-babylon/node_modules/aws-sdk/apis/acm-2015-12-08.paginators.json 161 bytes [built] [code generated]

233 modules
webpack 5.72.0 compiled successfully in 33537 ms

` Do you have any help here? I learned I have to use Babylon.js Editor because in ours AWS consoles Sumerian shows only documents. Which is fine it's completely new for me but I am familiarizing with the tool.

Thanks Tony

Krxtopher commented 1 year ago

Can you post the browser console output rather than the server log output? The browser console output is likely to have more useful information. To do this, load up the demo in the browser, press F12 to open the JavaScript console for the browser, and then try interacting with the chatbot. Copy-paste anything that gets written to the browser's console output.

anespo commented 1 year ago

Thank you Kris and I fixed the issue - As I have another bot I exchanged them in chatbotdemo.js sorry about that. Now I am arriving till the end of the reservation and when he asks for "Shall I make the reservation" and I say yes I have this error and nothing happen Uncaught (in promise) undefined Deferred.js:51:8 a Deferred.js:51 reject Deferred.js:115 _startSpeech AbstractTextToSpeechFeature.js:1049 (Async: promise callback) Deferred Deferred.js:43 _startSpeech AbstractTextToSpeechFeature.js:1047 _startSpeech TextToSpeechFeature.js:135 (Async: promise callback) Deferred Deferred.js:43 _startSpeech TextToSpeechFeature.js:124 play TextToSpeechFeature.js:167 play self-hosted:1356 js chatbotDemo.js:93 js chatbotDemo.js:94 _createListener Messenger.js:17 emit Messenger.js:197 _process LexFeature.js:117 (Async: promise callback) _process LexFeature.js:117 _processWithAudio LexFeature.js:69 endVoiceRecording LexFeature.js:242 onmouseup chatbotDemo.js:80 (Async: EventHandlerNonNull) js chatbotDemo.js:80 js chatbotDemo.js:124 InterpretGeneratorResume self-hosted:1819 AsyncFunctionNext self-hosted:807 (Async: async) loadDemo chatbotDemo.js:63 js chatbotDemo.js:156 n demo-utils.js:87

jsonp chunk loading:504 jsonp chunk loading:504 universalModuleDefinition:9 universalModuleDefinition:10 I believe this is due to the chatbot's intents and utterances. Thanks Tony
anespo commented 1 year ago

I am closing the issue as was caused, for initial point 2 by my misconfiguration in chatbotDemo.js. Thank you Kris for the help. I will open another issue for point one because someone asks me to demo this and I cannot do that from my localhost.