An Overview of Project 30
3️⃣ Third Years
- Della Doherty ([email protected]) - ICS
- Darragh Clifford ([email protected]) - ICS
- Antoni Zapedowski ([email protected]) - ICS
- Chinaza Uzoukwu ([email protected]) - ICS
- Sprina Chen ([email protected]) - CSB
- Jaedon Paget ([email protected]) - ICS
2️⃣ Second Years
- Sean Conway ([email protected] ) - ICS
- Emmelia Klefti ([email protected]) - ICS
- Nicholas Horvat ([email protected]) - ICS
- Lorca Brannigan ([email protected]) - CSB
- Dylan Martin ([email protected]) - ICS
Recommended CPU prerequisite setup.
python3 -m venv env
. env/bin/activate
pip3 install torch --index-url https://download.pytorch.org/whl/cpu
pip3 install -r requirements.txt
pip3 install sentence_transformers
pip3 install langchain_openai
Failing to install torch the way described above may result in your VENV being populated with NVIDIA drivers that you likely do not need. If you do have an Nvidia GPU, feel free to omit the explicit torch install, as you may be able to run the code faster with CUDA.
To get a sample of data download the "Datafiniti" CSV file from here.
Place it in the project root directory.
The program will search for a CSV with the name Datafiniti_Amazon_Consumer_Reviews_of_Amazon_Products.csv in the directory in which it is invoked.
To chat with the bot, the user will need to provide a way to connect with an LLM - either an API key, or path. API keys for OPENAI GPT and AI21 can be inserted into the program. Instruction on how to find them is available once the application is run. Please modify .env.template to put the LLAMA path if you wish to use LLAMA LLM.
You can run the app.py including .env.template which will include the environment variables for LLMs and others (or you can provide AI21 and GPT API keys while the app is running).
Navigate to the front-end folder and setup prerequisites via - this command needs to be executed only once:
npm install
Once npm is installed you can then run the frontend using the command:
npm start
Please note that the frontend should be run in a terminal seperate from the backend.
This is what the program should look like:

