Summary and Ressources
In this lesson you experimented with integrating Dialogflow as a chatbot, and how to test your app - but more generally, what are the “working parts” of a chatbot as understood in the QiSDK: reply reactions, and priorities.
Glossary
- Agent: In Dialogflow, you create and manage "Agents" that contain intents and ara capable of
- Chatbot: This term has a lot of meanings, but here we use it specifically to refer to a QiSDK Chatbot: a class capable of receiving text intents and replying; there can be many possible implementations, depending on QiChat, Dialogflow, etc.
- Credentials: The information needed to authorize the application to use a specific service (in our case, the Dialogflow agent)
- Fulfillment: In Dialogflow, this refers to the use of other web services to take action or complete the response to an intent.
- Intent: In Dialogflow, an Intent is a voice trigger, or a class of similar voice triggers that invite the same response (for example, "Tell me a Joke")
- Service Account: a virtual account used by google cloud that is given access to some services
Reference and Documentation
You can now use what you learnt to integrate other web chatbots (using Watson, Alexa, Microsoft Azure...). If you want more examples of chatbots integrated in the QiSDK: * Here for another integration. It uses a qichatbot, and has a gui allowing you to see which chat source is used. Note, however, that it uses the v1 version of the Dialgoflow library.
To make a more complete app relying on Chatbots: * On the Android and QiSDK side, you may want to add more tablet content (for example, buttons that serve as fallbacks, or images to illustrate what is said when relevant) * On the Dialogflow side, you may want to integrate fulfillments.
Create your Dialogflow account
Setting up Dialogflow Authentication
Dialogflow-java-client-v2 - an example of client-side use of the library in Java
Seperation of Concerns as a software architecture principle