Welcome to the QuestSecure repository! 🚀 This assistant is designed to automate the filling of questionnaires efficiently and securely.
QuestSecure simplifies the handling of security questionnaires by:
- Automated Filling: Uses a Retrieval-Augmented Generation (RAG) system, built on a knowledge base of internal policies.
- Enhanced Security: Ensures the security of data by performing all processing and language model computations on the local hardware.
- Ease of Setup: Provides all necessary files and detailed instructions for a quick start.
Before running the application, you need to set up your environment. Here's how you can do it:
Start by cloning this repository to your local machine:
git clone https://github.com/zaynabreza/DataScienceGroup13.git
cd DataScienceGroup13
Install all required Python libraries using the provided requirements.txt
file:
pip install -r requirements.txt
Install GPU4All and download the model you wish to use.
Add the path of the downloaded model, Elastic Search API, path of the Google key, and password of the Elastic Search user to the .env
file. Place this file in the src
folder:
passwd="YOUR_PASSWORD_HERE"
api_key="YOUR_ELASTIC_SEARCH_API_KEY_HERE"
model_path="YOUR_MODEL_PATH_HERE"
google_key_path="YOUR_GOOGLE_KEY_PATH_HERE"
Execute the application using Streamlit:
streamlit run frontend.py
QuestSecure can build a knowledge base from documents for its questionnaire-filling capabilities. Currently, the system supports PDF and Excel files.
Place all the PDF and Excel files you want to include in the knowledge base into a single folder.
Add the path to your documents folder to the .env
file. Set the knowledge_base_path
variable with your folder path:
knowledge_base_path="YOUR_PATH_HERE"
Run the following command to generate embeddings from your documents, which will be used to power the knowledge retrieval features of QuestSecure:
python generate_embeddings.py
This process may take some time depending on the number and size of the documents.
For support, contact us through the repository issues or pull requests. Contributions to enhance QuestSecure are always welcome! 🌟
Thank you for using QuestSecure!