Design and sketch an architecture for a scalable chatbot dialogue management system similar to ChatGPT.
- Session Management: Users should be able to create and manage multiple chat sessions.
- Sequential Interaction: Within each session, interactions should be processed in sequence, maintaining a consistent context.
- Persistence: Sessions should be persistent to ensure continuity even after disruptions.
- In-Memory Contexts: The chatbot's context should preferably be stored in RAM for faster access.
- Scalability: Design the system with scalability in mind, allowing for the accommodation of dozens of thousands (or more) of simultaneous sessions.
- Using Python for the backend, create a mock-up or proof-of-concept where the bot simply echoes back the user's input.
- Develop a simple front-end interface for the chatbot using a framework of your choice.
- Provide a brief justification for your choice of framework.
- It's recommended to use best-in-class AI assistants, but this is not mandatory.
- If you believe that a certain requirement is unnecessary or would hinder the system, feel free to omit it. However, provide a detailed reasoning for the exclusion.
- Additional requirements may be introduced based on evolving project needs or insights gained during the task.
Chat Bot App is a full-stack web application built using React, Django, Django Rest Framework, and Tailwind CSS. It provides chat bot functionality along with user authentication, including registration and login, as well as the ability to manage chat sessions.
Chat Bot App is designed to allow users to interact with a chat bot and manage chat sessions. It provides a seamless user experience with a modern frontend interface built using React and Tailwind CSS. The backend is powered by Django and Django Rest Framework, offering user authentication and chat session management.
Before setting up the Chat Bot App, ensure that you have the following prerequisites installed:
Follow these steps to set up the Chat Bot App locally:
-
Clone the repository:
https://github.com/Faisal-Sey/Mini-Chat-GPT.git
-
Navigate to the backend directory:
cd Backend
-
Install Python dependencies:
pip install -r requirements.txt
-
Create and apply database migrations:
python manage.py makemigrations python manage.py migrate
-
Start the Django development server:
python manage.py runserver
-
Configure backend environment variables, such as database settings, in
.env
or through your preferred method.
-
Navigate to the frontend directory:
cd Frontend
-
Install Node.js dependencies:
npm install
-
Start the React development server:
npm start
-
Configure frontend environment variables, such as backend URL, in
.env
or through your preferred method.
You can find the API documentation for this project in the Postman Collection provided.