a
Info |
---|
Once you have the SIC infrastructure up and running, you do not need to relaunch SIC every time. You can thus skip the first part once that has been done. For each change that you make to your MARBEL agent, of course, you need to restart it to see the effects of those changes. |
First part: Launch the SIC infrastructure
Open a command terminal in your machine and navigate to the folder (called docker by default) where you cloned the
SIC
project.
Note |
---|
Make sure you have Docker up and running before you proceed! |
Enter
docker-compose up dialogflow webserver
and hit enter.Open a second terminal and navigate to the subfolder
sic-local
in thedocker
folder.Enter
java -jar computer-browser.jar
and hit enter. After runningjava -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 displays a long string of random characters. In your terminal, it should say ‘ChromeDriver was started successfully’ in one of the lines.
Note |
---|
Do not close the terminals you used for launching the SIC infrastructure. You can inspect these terminals too to see what is going on with Dialogflow, for example. If the Chrome browser shows Disconnected, you need to relaunch the SIC infrastructure. You can use the |
Second part: Launch the MARBEL agent
Launch the .mas2g file in your agent project, for example, by right-clicking on it and choosing Debug As → MARBEL from the menu. A popup should appear like the one in the left-hand corner of the picture below. The empty box in the popup next to the browser code should be ticked. Note: The browser code should match the code that is displayed in the Google Chrome window used by the agent. Finally, hit OK.
...
Note |
---|
If you want to restart your MARBEL agent, make sure your previous agent has been terminated before you restart it! You can do this by checking the Debug perspective in Eclipse. If the agent is still up and running, select the MARBEL Debugging Engine, and press Terminate (red button). Press ‘xx’ to Remove All Terminated Launches to clean up the perspective. |
There are three different types of runs you can do for this project, MARBEL with Dialogflow to test your dialogue manager (MARBEL Agent), Intent and Slot Classifier with ASR(WHISPER), and all of them together without Dialogflow.
Info |
---|
To stop any running servers in a terminal press |
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Step 1 for all Runs: Launch the Redis Server
Open the project in PyCharm (or another IDE or teriminal).
Go to your cloned repository.
Navigate to the
sic_applications
directory:Code Block cd sic_applications
Start the Redis server using the provided configuration file:
Code Block redis-server conf/redis/redis.conf
For Windows go into sic_applicaitons/conf/ and you can run redis-server.exe
If you encounter this error Could not create server TCP listening socket *:6379: bind: Address already in use
read through the following collapsable section.
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
For Ubuntu/Debian users, if you encounter the error
And, if you wish to prevent Redis server from starting automatically at boot, you can run
If you still can’t kill Redis server, you can use
For macOS users, the process should be similar; just find the PID of the Redis server and kill the process:
And find the *PID in the terminal response, kill the pid shown:
|
...
Run your MARBEL Agent with Web Pages and Dialogflow
Follow these steps to set up and run your MARBEL agent along with the SIC infrastructure.
Step 2: Run Your MARBEL Agent with Web Pages and Dialogflow
Part 1: Launch the SIC Infrastructure
Open a New Terminal for Each Component:
Each component of the SIC infrastructure should run in its own terminal. You can do that really nicely in Pycharm.
You can even name them by right-clicking on the session like Local(2) and renaming it to reflect if it has Dialogflow or whatever.
Run the Following Commands (in separate terminals):
Dialogflow:
Code Block run-dialogflow
Webserver:
Code Block run-webserver
EIS:
Code Block start-framework
Run EIS Component:
Code Block run-eis
Open the Web Interface:
Open any browser and navigate to the local host link printed in the terminal where you run-eis or run-webserver. The link starts with localhost! Be patient and it should appear on the terminal you wrote
run-eis
. If you are not patient you could also try this link but it might not work considering the page is not connected yet: http://localhost:8080/start.html.You should see the start.html page.
Inspect Terminals (Optional):
Do not close the terminals used for launching the SIC infrastructure.
You can inspect these terminals to debug or monitor what is happening, such as interactions with Dialogflow.
...
Part 2: In Eclipse Launch the MARBEL Agent
Open the
.mas2g
File:In your agent project, locate the
.mas2g
file.Right-click on the file and choose:
Code Block Debug As → MARBEL
Restarting the MARBEL Agent:
If you need to restart the MARBEL agent, ensure the previous instance is terminated:
Switch to the Debug perspective in Eclipse.
Check if the MARBEL Debugging Engine is still running.
If it is running:
Select it and press the Terminate button (red square icon).
Press Remove All Terminated Launches (XX icon) to clean up the perspective.
...
Run your Intent and Slot Classifier with WHISPER
Note |
---|
YOU CANNOT RUN THIS PART UNTIL YOU ARE DOWN WITH YOUR ENTIRE INTENT AND SLOT CLASSIFIER. |
Follow these steps to launch your Intent and Slot Classifier with WHISPER and run the demonstration.
...
Step 2: Start WHISPER and NLU Services
In a new terminal WHISPER, and the NLU classifier in the background:
Code Block run-whisper & run-nlu &
...
Step 3: Run the Demo
Execute the demo script in the
sic_applications/demos/desktop
directory either in Terminal or with Pycharm:Code Block python sic_applications/demo_asr_nlu.py
...
Important Notes
Ensure all required services (Redis, WHISPER, and NLU) are running before executing the demo script.
Monitor the terminal logs for each component to ensure they are functioning correctly.
Keep the terminals open to maintain active services while running the demo.
You’re now ready to test the Intent and Slot Classifier with WHISPER! 😊
Run the entire pipeline altogether
We will complete this shortly…