Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Project MAS builds upon the basics taught in the Multi-Agent Systems course. You will use some additional tools and software to develop your cooking assistant. We provide a brief overview of the tools you should use throughout the project:

  • Dialogflow: We use Google Dialogflow to interpret user utterances and generate the speech of the agent. For making sense of what a user says, we will only use it to detect intents and entities. You will need to specify these in a Dialogflow agent.

  • GitHub: We use GitHub classroom to provide you with the initial agent code. GitHub is a development platform. You should use GitHub for developing your code.

  • MARBEL: You will develop your cooking assistant agent using MARBEL and Prolog. The MARBEL agent implements a dialog engine that you will use. You do not need to change this agent, even though you are allowed to if you like. The focus will be mostly on using Prolog to provide the agent with the knowledge it needs and make it smarter by providing it with basic logic.

  • SIC: We will make use of the Social Interaction Cloud (SIC) which runs in a Docker container. The agent will connect with this cloud infrastructure to be able to interface with a browser for displaying a webpage for visual support and Dialogflow for voice interaction. For programming, the browser, Bootstrap, a front-end open-source toolkit for building websites will be used.

To get started with this project, you (and your group members) need to set up this software.

1: Create and Prep prepare Your Dialogflow Agent (One Per Team)

  • Please follow the instructions here.

  • Locate and save your agent’s .json file (see here for an explanation).

2: Join GitHub Classroom and Clone the Student Project

XXX

3: Install MARBEL

  • We assume that you have already installed Eclipse and the MARBEL plug-in. If not, please follow the instructions here. You can check whether you are using the latest version of the plug-in by using the Eclipse menu (Help → Check for Updates).

  • INSTRUCTIONS ON GIT REPO AND DOWNLOAD OF PROJECT FILE

  • Launch Eclipse, make a new workspace, and import(select File then Import) the MARBEL dialog manager project from GitHub.

  • Add the downloaded JSON key file of your Dialogflow agent to the project directory.

  • In the .mas2g file, specify as flowkey the name of the JSON key file, and as flow agent the agent ID (click here to see more details).

4: Install SIC

Please follow the instructions here. Only works with Google Chrome which you therefore also need and can download here.

5: Launch the conversational agent system

  • Open a command terminal and navigate to the folder where you cloned the docker project

  • Enter docker-compose up dialogflow webserver and hit enter.

  • Open a second terminal and navigate to the subfolder sic-local in the docker folder.

  • Enter java -jar computer-browser.jar and hit enter. This will lead to a new browser window. Press ‘Ok’ without filling in a password.

  • Run the .mas2g file.

  • Check the boxes ending with ‘browser' and 'robot’ in the subsequently appearing window, and press 'OK'.

After running java -jar computer-browser.jar a pop-up should appear like the one in the left-hand corner of the picture below. Click okay without filling in a username and password.

Then a google chrome window should open. It should say it is being controlled by automated test software and have a funny code on itdisplay long string of random characters. In your terminal it should say ChromeDriver ‘ChromeDriver was started successfully somewheresuccessfully’ in one of the lines.

When you run the .mas2g file in your agent, another popup should appear like that the one in the left-hand corner of the picture below. The empty box should be ticked next to the browser code that matches your google chrome window code, and then you hit okay!OK

You should now see a window rendering the browser plug-in and hear the bot start talking. The rest now is up to you!