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).
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.
To set up and start using the project, follow these steps:
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
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
git clone https://github.com/veb7vmehra/Lexi2.0.git
-
For the client:
cd client npm run setup
-
For the server:
cd server npm run setup
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.
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.
- It creates a
- Installs Dependencies:
- Executes
npm install
to install all the necessary npm packages that the server requires to function properly.
- Executes
- 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.
The current openFace version downloaded with this github contains windows exe files, for linux and macOS, you can follow the following steps:
- Installastion steps for Unix
- Installation steps for MacOS
- Make sure to install openFace inside the Lexi2.0 folder and rename the openface folder to "openFace".
- I would recommend going through the Dev Branch if you want to use the docker image of the openFace.
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.
Run the following command inside the Lexi2.0 folder from terminal.
pip install -r requirements.txt
- 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.
Intersted to deploy Lexi? Please read our Deployment Guide for information on how to deploy.
Interested in contributing? We value your input and contributions! Please read our Contributing Guidelines for information on how to get started.
- Project Homepage
- Research Paper (Link to related research papers or articles)
This project is licensed under the CC BY-NC 4.0 License.
For any inquiries or further information, reach out to us at [email protected].
Give a ⭐️ if this project helped you! Your support encourages us tremendously.