Skip to main content
Skip table of contents

CHAI: Client-Hosted AI

What is CHAI?

CHAI: Client-Hosted AI

Instead of using an AI or chatbot that is integrated in Rapport’s backend system, users can connect their own chatbot or AI (collectively called “dialogue solution”) that runs on their website to a Rapport audio driven animated character using an “Idle project type configuration. Rapport would still take care of translating the user’s speech to text for the dialogue solution (if needed) and animating the responses from it via the Rapport Web Viewer (RWV) code that we provide.

Here, the Rapport character will essentially run in parallel with the dialogue solution experience, just waiting on what to say from the website.  The host website takes care of the dialogue.  The system messages that are generated by the dialogue are passed to the Rapport project via RWV, which is set to an “Idle” configuration, ie the project is set up to receive text input which it sends to a TTS to produce the audio which then drives the animation for the chosen character within rapport.  

Any end user interaction with the dialogue solution is contained within the host site, and does not pass through Rapport.  

How to setup a Client-Hosted AI

Here is a step to step guide you can follow for this particular use case:
In Rapport Accounts User Interface, we have replaced the acronym ASR (automatic speech recognition) with STT (Speech to Text). The commands used in RWV still use the abbreviation ASR.

  1. Go to your project at accounts.rapport.cloud

  2. Set up an “Idle” project with your chosen character and TTS voice

  3. Disable "Send STT to AI" and "Send AI to TTS" options.  (This will allow you to manually control the program flow).

  4. Integrate RWV to your website (eg see here for an example:

https://docs.rapport.cloud/rd/examples#Examples-Simplerapport-sceneintegrationintoanindex.html

  1. If using voice input, capture STT user input in your website code with the asrMessage event. Detailed description on how to do that can be found at

https://docs.rapport.cloud/rd/configuration#RapportWebViewerConfiguration-identifyLanguage(%7BlanguageHints,timeout%7D)

Send the STT result text in the asrMessage event to your dialog solution via their preferred method (such as https calls or integrated libraries). The implementation of this falls out of the scope of RWV, it will be handled by your website. 

(Note: some chatbots only have text input or buttons. So ASR would not be required for this usecase - they can toggle off ‘Use STT’ in this case.)

  1. The text response from your dialogue solution or chatbot needs to be sent to the TTS service so the avatar can read it out. Use the TTS module's sendText method for this purpose. Detailed instructions on how to do that can be found at

  1. You can use the commands module's stopAllSpeech method to interrupt currently running avatar speech when needed.

https://docs.rapport.cloud/rd/configuration#RapportWebViewerConfiguration-Methods.

Data flow comparison between Rapport preferred set-up and CHAI

image-20241220-135506.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.