As many of you are no doubt aware, the fantastic world of Oracle Intelligent Advisor has aligned in recent times (starting, if my memory is correct in 19B) with the equally amazing world of Oracle Digital Assistant. This article aims to give you a straightforward overview of the steps required to get a simple example up and running, and explains the various bits of terminology that you will come across as you connect Intelligent Advisor Chat Service and Digital Assistant. It takes advantage of the new ease of use and seamless integration introduced in Oracle Digital Assistant 21.02 and Oracle Intelligent Advisor 21A.
As always with these articles I am very grateful to Oracle, particularly to Phil W who is always very generous with his time to help this website.
So, let us imagine the scenario. You have an Intelligent Advisor Interview that you want to experiment with as a Digital Assisitant. Here are the steps and the issues that you may come across. The process is not difficult but the user experience could sometimes be a little better. I’m always complaining as you know. There have been great improvements but there are still some areas where it is not exactly the most friendly or intuitive. So here goes!
- Sign up for an Oracle Free Cloud Account.
- In your new Cloud account, once it has been completely provisioned (which in my case only took about one hour), navigate through the list of services available and select Digital Assistant. Select to create an instance of this product. It’s up to you to come up with a name for your Digital Assistant instance. Remember you get $250 credit in your Free Account, so we can use Digital Assistant even if it is not part of the free tier.
- Once this is up and running, drilldown on the name and click the Service Console button so that you can finally get to work on your Digital Assistant instance.
- As shown in the screenshot above, connect your Digital Assistant to your Intelligent Advisor Hub (and thereby getting access to the Chat Service and your Interview) by going into Settings, Additional Services, Intelligent Advisor and adding it. Here you will be asked for the URL and other details of where your Hub is, and how to connect to it (so make sure you have an API User that can access the relevant Workspace to get to your Deployment). You give this additional service a name of your choice.
- Now we can go and create our first Skill. The process gets a bit unfriendly here. I’ve given my skill a name, and I need to make sure that my skill understands that I will be leveraging the Intelligent Advisor interview to drive the process. Clicking on the Flow icon leaves us looking at a YAML file that now needs to be edited. Just click the blue + Component button and add my Intelligent Advisor service to this file – whilst it works, it is definitely low on friendliness and usability. YAML needs to be replaced by something less “handmade”.
It gets even less friendly as we realize we have to now edit the file by hand, adding the deployment name and the service name (that I gave in step 4) but also removing or commenting a bunch of things that are invalid if left blank. It’s not the friendliest interface when working on this phase of connecting Oracle Digital Assistant and Intelligent Advisor.
6. Next up is to define our intent(s). How will the users of our component trigger the interview flow? This requires us to create the intent and specify at least five different utterances that match the sort of thing people will say and correspond to our interview. My test interview is a favorite of mine, the Paris Metro travel planner, so I enter phrases like “Help me plan my journey” or “I want to travel by Metro in Paris”. We can validate the utterances and see if the Digital Assistant is understanding the intent.
A slightly irritating thing is that to move to the next step, where we train the engine, we need to have at least two intents and five utterances per intent. So in my case I created another intent and added five more, different utterances, but updated the YAML to only reference the intent that I am really using. I realize my use case is just that I want to make a demonstration, so a single intent is fine for me but not for real life, but it would be nice not to have that restriction when just building a quick demonstration of Oracle Digital Assistant and Intelligent Advisor.
7. Now we go back to the YAML file and update it to include a reference to the intent. We must validate the YAML file (and it is very sensitive – extra spaces and so on generate lots of warnings. In fact even the standard template file gets lots of warnings! – but as long as there are no red errors you can proceed to the next section.
8. Training is important to ensure that our component won’t get bogged down with spam and other irrelevant questions, so that is the next step. The console will select a training model for you and you can click to perform the training for the intent(s) you created. I only filled out one, as you can see from the image. If you can get to the point where the training does not give any major errors, then you are good to go. Oracle Digital Assistant and Intelligent Advisor are ready to play!
9. At last; now we can actually test-drive our little demonstration.The skill tester lets us interact with the interface and see what happens. And our interview appears when we make an utterance that matches the intent, and the whole process begins. We click the testing “play” button at the top of the Skill page on the right (you can see it in the previous image) and off we go, let’s chat! We select the bot tester, and the channel (web) and enter the utterance that fires the interview. We interact with the Chat experience and review technical information, JSON payloads and so on.
And the result is exciting (look! the interview is there on the left!) but underwhelming (My gosh it’s soooo ugly).
In the next part of this series we will consider some ways to make this combination of Oracle Digital Assistant and Intelligent Advisor a bit more usable, by considering how a chat interview is different from a normal one.
Read more about Oracle Intelligent Advisor 21A.