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
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/Tomer-Lavan/Lexi
-
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.
- 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
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 gl538@cam.ac.uk.
Give a ⭐️ if this project helped you! Your support encourages us tremendously.