DocsXchat is a web application coded on Django framework and Python, that allows you upload your own documents and address questions based on these materials, using the powerful capabilities of LLM models to provide context-sensitive answers.
- Allows users to upload PDF files, making them available for content-based queries.
- Provides real-time chatbot responses to user requests about the content of downloaded PDF documents.
- Implements a responsive user interface that provides smooth operation on various devices and enhanced accessibility.
- The chat history function was developed and implemented, allowing users to return to previous conversations with the chatbot, which contributes to a more convenient interaction.
- Clone the repository to your computer:
$ git clone https://github.com/DenBilokon/doc_X_chat.git
-
Navigate to the project directory:
cd doc_X_chat -
Create a virtual environment to install dependencies in and activate it:
$ virtualenv2 --no-site-packages env
$ source env/bin/activate- Create your .env file using env.example:
- Create Postgres database to storage data and fill the neccessary fields in .env file ( DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD, DATABASE_HOST, DATABASE_PORT ).
- Use your email account credentials to fill the neccessary fields in .env file ( EMAIL_PORT,EMAIL_HOST_USER, EMAIL_HOST_PASSWORD ).
- Create your Cloudinary account ( https://cloudinary.com/ ) in order to obtain credentials for .env file ( CLOUD_NAME, CLOUD_API_KAY, CLOUD_API_SECRET ). On your Cloudinary account Dashboard use data from variables Cloud Name, API Key, API Secret.
- Create your OPEN AI account ( https://openai.com/blog/openai-api ) and find API Key in order to obtain credentials for .env file ( OPENAI_KEY ).
- Install the dependencies
pip install -r requirements.txt - Make Migrations
python manage.py migrate - Create a superuser
python manage.py createsuperuser - Run the program
python manage.py runserver - Follow the link
http://127.0.0.1:8000/. - Enjoy!
- Python 3.10
- Django 4.2.6
- Langchain (gpt-3.5-turbo, OpenAIEmbeddings, ChatOpenAI, ConversationBufferMemory, FAISS, RecursiveCharacterTextSplitter)
- PostgreSQL
- OpenAI API
- Cloudinary
- Bootswatch
- HTML5
- CSS3
- Docker
- Github
- Denis Bilokon
- Oleksand Vasylyna
- Denis Zaitsev
- Oleksii Latypov
