/Lexi2.0

Primary LanguageTypeScriptOtherNOASSERTION

LEXI: Large Language Models Experimental Interface

An innovative platform by Affective Intelligence and Robotics Laboratory (AFAR) of the University of Cambridge for conducting social interaction experiments with bots and Language Learning & Modeling Systems (LLMS).

🌍 Project Overview

This platform is designed to facilitate advanced research in the field of user-bot interactions and LLMS models. It offers a comprehensive environment for conducting, monitoring, and analyzing experiments in this cutting-edge domain.

🚀 Quick Start

To set up and start using the project, follow these steps:

Step 0: Download the following pre-requirements:

Node.JS - https://nodejs.org/en
Npm - https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
Git - https://git-scm.com/downloads
Python 3 - https://www.python.org/downloads/
OpenAI api key - OpenAI api key info

Step 1: Set Up MongoDB Database

Before setting up the project, you'll need a MongoDB database. You can set this up locally on your machine, or use MongoDB Atlas for a cloud-based solution.

  • Setting up MongoDB Locally: Follow this guide to install MongoDB locally on your system.

  • Setting up MongoDB on Atlas: MongoDB Atlas offers a cloud-based solution. You can set up a free cluster following this guide.

    Make sure you are adding your ip to be white listed

Step 2: Clone the Repository

git clone https://github.com/veb7vmehra/Lexi2.0.git

Step 3: Install Dependencies

  • For the client:

    cd client
    npm run setup
  • For the server:

    cd server
    npm run setup

Setup Process Details

During the setup process, you'll be guided through a series of prompts to configure your environment:

  • OPENAI_API_KEY: Enter your OpenAI API key.
  • MONGODB_USER: Enter the MongoDB username.
  • MONGODB_PASSWORD: Enter the password for MongoDB.
  • MONGODB_URL: Provide the MongoDB URL (mongodb+srv://.mongodb.net).
  • MONGODB_DB_NAME: Choose a name for your MongoDB database.

Additionally, the setup script will guide you in creating an administrative user for your system. You'll need to provide a username and password for this user.

Functions of the Setup Script

The setup script automates several important tasks to get your server up and running:

  • Configures Environment Variables:
    • It creates a .env file containing essential environment variables like your OpenAI API key, MongoDB credentials, and other necessary configurations.
  • Installs Dependencies:
    • Executes npm install to install all the necessary npm packages that the server requires to function properly.
  • Builds the Project:
    • Runs the build process for your TypeScript code, compiling it and preparing your server for execution.
  • Initializes Admin User:
    • Creates an admin user within your system using the credentials you provide, facilitating immediate access to admin-level features.

This comprehensive setup ensures that all necessary components are correctly configured, laying the foundation for a smooth and efficient operation of the server.

Step 4: Setting up openFace

The current openFace version downloaded with this github contains windows exe files, for linux and macOS, you can follow the following steps:

If you haven't until now, irrespective of your OS, run the download_models.ps1 (for Windows) or download_models.sh (for Unix and MacOS), you can find these scripts inside the openFace folder.

Step 5: Install pip requirements

Run the following command inside the Lexi2.0 folder from terminal.

pip install -r requirements.txt

Step 6: Running the Project

  • For the Client:
    cd client
    npm start

client will run on: http://localhost:3000

  • For the Server:
    cd server
    npm run dev

server will run on: http://localhost:5000

  • For action unit extaction:
    python AU_extractor.py

Encountering difficulties with your local environment setup? Consult our Troubleshooting Guide for assistance in resolving your issues.

🌐 Deployment

Intersted to deploy Lexi? Please read our Deployment Guide for information on how to deploy.

🛠️ Contributing

Interested in contributing? We value your input and contributions! Please read our Contributing Guidelines for information on how to get started.

🔗 Useful Links

📄 License

This project is licensed under the CC BY-NC 4.0 License.

📞 Contact

For any inquiries or further information, reach out to us at veb7vmehra@gmail.com.

👍 Show Your Support

Give a ⭐️ if this project helped you! Your support encourages us tremendously.