Versions Compared

Key

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

The Project CA builds upon the material taught in the Multi-Agent Systems course. You will use some additional tools and software to develop your recipe recommendation agent in this project.

Set-Up

1: GitHub Classroom and Clone the Student Project

Info

Hot Tip: GitHub has a great education package if you sign up with your student email https://education.github.com/pack#offers


2: Install MARBEL

  • You may have already installed Eclipse and the MARBEL plug-in. If so, please check whether you are using the latest version of the plug-in by using the Eclipse menu (Help → Check for Updates). If not, pleasehttps://goalapl.atlassian.net/wiki/spaces/GOAL/pages/2143977473/Download+and+Install+the+MARBEL+Plugin.

  • Launch Eclipse (You can choose to create a new workspace if you like).

  • Go to Window → Preferences (or on Mac: Eclipse → Settings) → MARBEL Runtime and uncheck the box for `Include initial KR updates’.

  • Additionally, navigate to the Logging (should be right above Runtime) and check your logging preferences. The following boxes under Logging should be checked:

    • Under Log Handling “Show an action history whilst debugging”, “Show a console per agent whilst debugging”

    • Under Logging Options “The reasoning cycle separator”, Going to sleep or waking up”, “User-specified actions that have been executed”, “Initializing changes in KR”, “Changes in the KR”

Note

Make sure to set these preferences. Without unchecking the runtime option, it will be hard if not impossible to run your agent in Debug Mode. Checking the logging options will enable saving log files automatically, which will be useful for analyzing your agent’s behavior (conversations) and is needed to collect the required conversation data. Also note your Logging Directory!

  • Import the MARBEL dialog manager project in Eclipse by selecting File → Import → MARBEL Agent Programming → Existing MARBEL Project, clicking Next, browsing to the agent folder dialog_mngr in which you cloned the project, and selecting the dialogmngr-pca2025-basic.mas2g file, clicking Open, and finally, clicking Finish.

Note

Do not check the option Copy into workspace! If you import the project into Eclipse, you should be able to see on what branch you are working in your git repository and be able to make use of git functionality available in Eclipse.


3: Make Dialogflow agent

Dialogflow Setup Instructions

Follow these steps to get a JSON keyfile that you need for the project:

Making a Dialogflow Agent.


4: Make Virtual Environment

Environment Setup Instructions

Follow these steps to set up your environment for the project:


Step 1: Install Redis and PyAudio

  1. Install Redis unless you can run redis-server.exe:
    Follow the guide here to do the installation, just the install do not run stuff, just the first install paragraph:
    https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/

  2. Install PyAudio:
    Use the instructions provided on the PyPI page but do the pip install part in your conda environment.:
    PyAudio Installation Guide

  3. Install Espeak:
    Use the instructions provided here:
    Espeak Website or with Mac & Homebrew https://formulae.brew.sh/formula/espeak


Step 2: Install Anaconda or Miniconda

  • If you don’t already have Conda installed, download and install either:


Step 3: Create the Conda Environment

  1. Locate the YAML File:
    The repository contains a pre-configured environment.yaml file for the project.

  2. Create the Environment:
    Open a terminal, navigate to the repository folder, and run:

    Code Block
    conda env create -f environment.yaml
  3. Activate the Environment:
    Once the environment is created, activate it with:

    Code Block
    conda activate PCA25

Step 4: Open the Repository in an IDE

  1. Find the Cloned Repository:
    Navigate to the repository folder on your computer.

  2. Use an IDE (Recommended):

    Hot Tip: JetBrains offers free professional licenses for students. Learn more and apply here:
    JetBrains Free Student Licenses

  3. Set Up the Interpreter in PyCharm:

    • Go to File > Settings > Project > Python Interpreter.

    • Set the interpreter to the Conda environment (PCA25) you created earlier.


Step 5: Verify the Setup

  • Check Environment Activation: Ensure the environment is activated before running the project.

    Code Block
    conda activate PCA25
  • Pasted Graphic 2-20250104-111141.png

Final Steps: Setting Up the Project in Your IDE

Step 1: Open the Terminal in the IDE

  1. Launch your IDE (e.g., PyCharm) and open the project folder.

  2. Open the terminal within the IDE (see pic above)


Step 2: Ensure the Conda Environment is Activated

  1. Check if your Conda environment (PCA25) is activated.
    You should see (PCA25) at the beginning of the terminal prompt. If not, activate it manually:

    Code Block
    conda activate PCA25

Step 3: Navigate to the Directory for social-interaction-cloud

  1. Change your directory to the social-interaction-cloud folder:

    Code Block
    cd social-interaction-cloud
  2. Install the package using pip:

    Code Block
    pip install .
    • The . tells pip to install the package in the current directory (i.e., social-interaction-cloud).


Step 4: Return to the pca-agent-2025 Directory

  1. Navigate back to the pca-agent-2025 directory by moving one level up:

    Code Block
    cd ..

Step 5: Navigate to the sic_applications Directory

  1. Change your directory to the sic_applications folder:

    Code Block
    cd sic_applications
  2. Install the package using pip:

    Code Block
    pip install .

Now, please go ahead and test your installation. You should be able to run the entire setup (see Run your Conversational Agent), just the MARBEL part. Do keep in mind that the basic agent does only very basic things, but you should expect to get a greeting.

Info

If you are running into problems, please check the Common Errors page that will be updated during the course when we learn about problems that you share and report with us.