Created during HackZurich 2023 (Sika Challenge). | [Devpost] | [Winner Photo]
Catalyst gathers and stores company data from PDFs, wikis and meeting transcriptions. It cleans the data and organizes knowledge into discrete facts. All these facts are stored in a vector database, enabling users to search for them using text queries. A ChatGPT-powered chat-bot comprehends user inquiries and formulates responses based on information from the database. We enhance transparency by offering detailed insights into how the chat bot generates responses, including the information from the database that was utilized and associated confidence scores.
catalyst_video_full_2x.mp4
To set up the project, follow these steps:
- Install
the required Python packages by running the following command in the project's root directory:
pip install -r backend/requirements.txt
- Configure Environment Variables:
- The project utilizes the
gpt-3.5-turbo-16k-0613
model. To gain access to it, you must specify yourOPENAI_API_KEY
in the.env
file. - Additionally, you need to provide the bot's Google credentials in the
.env
file.
- The project utilizes the
To start the backend server, navigate to the project's root directory (in the 'timeline' folder) and execute the following command:
python backend/app.py
For proper deployment, follow these steps:
-
Activate the virtual environment (venv) with the following command:
cd project/Catalyst source myvenv/bin/activate
-
To serve the Flask backend in debug mode, run:
python backend/app.py
For proper deployment, run the following command from the ./frontend directory.
npm run dev
The API can be accessed using the external ID of the VM followed by port 3000
.
Building the Docker container (combines frontend and backend):
docker build -f Dockerfile.combined -t catalyst-combined .
Running the Docker images:
docker run --rm -p 80:80 -p 8080:8080 catalyst-combined
This command takes some time to run.