Building a voice agent for an Ember app¶
With Alan AI SDK for Web, you can create a voice agent or chatbot and embed it to your Ember app. The Alan AI Platform provides you with all the tools and leverages the industry’s best Automatic Speech Recognition (ASR), Spoken Language Understanding (SLU) and Speech Synthesis technologies to quickly build an voice agent from scratch.
In this tutorial, we will create a simple voice enabled Ember app. The app users will be able to click the voice agent button and give custom voice commands, and the AI agent will reply to them.
What you will learn¶
How to add a voice interface to an Ember app
How to write simple voice commands for an Ember app
What you will need¶
To go through this tutorial, make sure Node.js and the Ember CLI are installed on your machine. For details, see Ember documentation.
Step 1. Sign up for Alan AI Studio¶
First, we need to sign up for Alan AI Studio — the web IDE where we will create the dialog script for our voice agent.
Go to Alan AI Studio.
Sign up with a Google or GitHub account or with your email address.
In Alan AI Studio, click Create Project. Select to create an empty project and give it any name you want.
Step 2: Create an Ember app¶
Now let’s create a simple Ember app:
On your machine, navigate to the folder in which the app will reside and run the following command:
ember new my-app
Switch to the folder with the app:
cd my-app
Start the app:
ember serve
Step 3: Install the Alan AI Web component¶
We need to add the Alan AI Web component to the app.
In the app folder, install the Alan AI Web component with the following command:
npm i @alan-ai/alan-sdk-web
Install the
ember-auto-import
package to have the ability to use packages from npm:npm install ember-auto-import --save
Step 4: Add the Alan AI button to the app¶
Now we will update our app to add the Alan AI button to it.
In the
app
folder, open theapp.js
file.At the top of the file, add the import statement for the Alan AI Web component:
import alanBtn from "@alan-ai/alan-sdk-web";
Below, add the code for the Alan AI button:
loadInitializers(App, config.modulePrefix); // Adding the Alan AI button alanBtn({ key: 'YOUR_KEY_FROM_ALAN_STUDIO_HERE', host: 'v1.alan.app', onCommand: (commandData) => { if (commandData.command === 'go:back') { // Call the client code that will react to the received command } }, });
In the
key
field above, we need to replaceYOUR_KEY_FROM_ALAN_STUDIO_HERE
with the Alan AI SDK key for our Alan AI Studio project. In Alan AI Studio, at the top of the code editor, click Integrations, copy the value provided in the Alan SDK Key field and paste this value tokey
.alanBtn({ key: '28b4365114e0f2f67d43485dbc3cb44a2e956eca572e1d8b807a3e2338fdd0dc/stage', host: 'v1.alan.app', onCommand: (commandData) => { if (commandData.command === 'go:back') { // Call the client code that will react to the received command } }, });
Step 5. Add voice commands¶
Let’s add some voice commands so that we can interact with our Ember app through voice. In Alan AI Studio, open the project and, in the code editor, add the following intents:
intent(`What is your name?`, p => {
p.play(`It's Alan, and yours?`);
});
intent(`How are you doing?`, p => {
p.play(`Good, thank you. What about you?`);
});
Now in the app click the Alan AI button and ask: What is your name?
and How are you doing?
The AI agent will give responses provided in the intents.