/Lexi

Lexi is an innovative platform designed in collaboration with Cambridge University. It serves as a state-of-the-art environment for conducting extensive research and experiments in the field of user interaction with bots and Language Learning & Modeling Systems (LLMS).

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 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/Tomer-Lavan/Lexi

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: 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

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 gl538@cam.ac.uk.

👍 Show Your Support

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