Versions Compared

Key

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

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 SICproject.

Note

Make sure you have Docker up and running before you proceed!

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

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

  • Enter java -jar computer-browser.jar and hit enter. 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.

  • Image Removed
  • 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.

    Image Removed
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 docker-compose down command in a terminal to clean up your docker engine.

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 ctrl C.

Table of Contents
minLevel1
maxLevel2
outlinefalse
stylenone
typelist
printabletrue

...

Step 1 for all Runs: Launch the Redis Server

  1. Open the project in PyCharm (or another IDE or teriminal).

  2. Go to your cloned repository.

  3. Navigate to the sic_applications directory:

    Code Block
    cd sic_applications
  4. 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
titleError Problem Solving
Info

Troubleshoot (Could not create server TCP listening socket *:6379: bind: Address already in use)

For Ubuntu/Debian users, if you encounter the error Could not create server TCP listening socket *:6379: bind: Address already in use., please use the following command to stop the Redis server first

Code Block
sudo systemctl stop redis-server.service

And, if you wish to prevent Redis server from starting automatically at boot, you can run

Code Block
sudo systemctl disable redis-server.service

If you still can’t kill Redis server, you can use ps aux | grep redis-server command to find the PID (process ID) of the Redis server. And, terminate the process using kill PID

 

For macOS users, the process should be similar; just find the PID of the Redis server and kill the process:

Code Block
lsof -i tcp:6379

And find the *PID in the terminal response, kill the pid shown:

Code Block
kill -9 *Insert PID here

...

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

  1. 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.

      image-20250105-100909.pngImage Added

  2. 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
  1. 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.

  2. 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

  1. Open the .mas2g File:

    • In your agent project, locate the .mas2g file.

    • Right-click on the file and choose:

      Code Block
      Debug As → MARBEL
  2. 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

  1. In a new terminal WHISPER, and the NLU classifier in the background:

    Code Block
    run-whisper & run-nlu &

...

Step 3: Run the Demo

  1. 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…