WilliamHCarter / RattlesnakeRidge

Multi-agent ML Mystery Game
1 stars 0 forks source link

Rattlesnake Ridge

Multi-agent ML mystery game, powered by LangChain

Python LangChain

Overview

In Rattlesnake Ridge, the player faces off against 4 AI Agents (Powered by the OpenAI API) in order to solve a mystery in a small western town. These AI agents are aware of some facts surrounding the case, and may provide clues to the player, or deceive the player, based on the scenario and their role in the crime that the player is investigating.

Quick Start

To get started with this project, follow these steps:

1. Clone the repository:

   git clone https://github.com/WilliamHCarter/RattlesnakeRidge.git
   cd RattlesnakeRidge

2. Install dependencies:

Python

Make sure you have Python installed. If not, you can download and install Python from python.org.

It's recommended to use a virtual environment to keep your project dependencies isolated:

   # Create a virtual environment
   python -m venv venv

   # Activate the virtual environment
   # For Windows:
   venv\Scripts\activate

   # For MacOS and Linux:
   source venv/bin/activate

Docker

This project is containerized using Docker. Make sure you have Docker installed. If not, you can download and install Docker from Docker's official website.

Node & NPM

This project uses NPM for its frontend dependency installation. Make sure you have node installed. If not, you can download and install Node.js from nodejs.org. npm is included with the Node.js installation.

3. Add API Key:

Create a file named .env, and paste the contents of .env.template into it. Then, add your key to the LLM_API_KEY variable inside your new .env file.

4. Run Flask App:

Build the Docker image and run it as a container:

   # Build the Docker image
   docker build -t my-server .

   # Run the Docker container
   docker run -p 5000:5000 --env-file=.env my-server

The Flask app will be accessible at http://localhost:5000.

5. Run Frontend

Navigate to the client directory and run the commands:

   npm install
   npm run dev

This will open up a new UI instance at http://localhost:5173 which you can use to interact with the app.