Document Chat is a project developed under Metropolia University of Applied Sciences's scope. It is an application where user can login to keep chat history, chat, upload a document to interact with (e.g Q&A), and logout.
- Tai Nguyen
- Anish Maharjan
- Darja Polevaja
- Ainara Larrañaga Flores
- Login, Logout: Users can login and logout using their metropolia credentials.
- Chat, Upload Document, Q&A: Users can ask basic questions, upload a pdf document and ask questions regarding to the uploaded document (e.g. What is this document about?).
- Chat history: Users are able to retrieve their chat history.
Frontend:
- TypeScript
- React
- Tailwind CSS
- Vite
Backend:
- Python
LLM:
- GPT4All chat model: Mini Orca 3b
- Embedding model: Llama.cpp, llama2 7b
- Download this file: https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML/blob/main/llama-2-7b-chat.ggmlv3.q2_K.bin
- Clone the project
- Open 2 terminals
- Navigate 1 terminal to backend folder:
- Create
docsfolder - Create
modelsfolder - Place newly downloaded file to
modelsfolder in backend pip install -r requirements.txtpython app.py
- Create
- Navigate 1 terminal to frontend folder:
npm installnpm start
The loading time of the chat model may vary based on your local machine. Kindly be patient, particularly in the DocumentChat section. After uploading a document, allow the model sufficient time to complete the processing.
- The application is intended for educational use only and is not intended for commercial purposes.
- Occasionally, responses from the chatbot may include hallucinations; if this occurs, please refresh the application.
- The loading time of the Llama model may vary depending on the local machine; your patience is appreciated.
- All models utilized in this application are provided free of charge.
- We cannot be held responsible if the chatbot generates incorrect answers.
