Skip to content

An LLM-based app to determine the most suitable educational or professional path.

Notifications You must be signed in to change notification settings

llaraspata/YourFutureGuide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Your Future Guide

Logo

python angular

YourFutureGuide is an LLM-based application to discover which is the most suitable educational or professional path for you. LLaMa3-7b will determine so by investigating your interests and aspirations in only 5 shots.

Demo

This project was shown during the European Research Night 2024 in Bari. Therefore the degree course prediction was limited to what proposed by the University of Bari in that moment. So, a Retreival Augmeted Generation (RAG) mechanism has been implemented at the end of the conversation to retrieve the three degree couses most similar to the student's interests.

Note

Since this is a demo for the European Research Night 2024 in Bari, the conversation is in Italian.

Further technical details concerning the employed propmpts are reported in the backend readme.

🚀 Getting started

We recommend to use Python 3.11.5 to run our code, due to possible incompatibiities with newr versions.

Moreover, the frontend part of this project was generated with Angular CLI version 18.2.4. So, be sure that Angular is installed on your machine. You can find details on how to install it in the Angular Github repository.

🛠️ Installation

The steps to correctly install the project are described below (both backend and frontend).

🐍 Python backend

  1. Clone this repository:
    git clone https://github.com/llaraspata/YourFutureGuide.git
    
  2. Create a virtual environment and activate it:
    python -m venv your_venv_name
    source <your_venv_name>/bin/activate  # On Windows, use: <your_venv_name>\Scripts\activate
    
  3. Install all the project dependencies:
    pip install -r requirements.txt
    

🖥️ Angular frontend

Once te repository has been cloned:

  1. Move to the frontend directory:
    cd ./frontend
    
  2. Install the dependencies
    npm install
    

🗄️ Import documents in ChromaDB

The vectorial database Chroma is used to store PDF files used for RAG. You need to follow the steps below to insert documents in the DB and use them in the prediction process.

  1. Upload your PDF files in the directory data
  2. Insert them in the ChromaDB
    python ./backend/data/populate_db.py
    

✨ Run YourFutureGuide

To run the python backend follow the steps below:

  1. Move to the directory backend
  2. Run the uvicorn server
    uvicorn main:app --reload
    

To run the angular frontend follow the steps below:

  1. Move to the directory frontend
  2. Run the angular client
    ng serve
    

🖋️ Citation

@misc{laraspata2024YourFutureGuide,
author = {Lucrezia Laraspata},
title = {YourFutureGuide},
year = {2024},
url = {https://github.com/llaraspata/YourFutureGuide/}
}

About

An LLM-based app to determine the most suitable educational or professional path.

Topics

Resources

Stars

Watchers

Forks