This project aims to create a ChatBot using the Gemini API for natural language processing. The conversations with the ChatBot will be stored in a MongoDB database for future reference and analysis. Additionally, the project utilizes Docker to containerize the ChatBot application and MongoDB, enabling easy deployment and communication between the two containers.
- Utilizes Gemini API for natural language processing and ChatBot functionality.
- Stores conversations in a MongoDB database for persistence and analysis.
- Dockerized deployment for easy setup and management.
- Enables communication between the ChatBot application and MongoDB container.
- Gemini API
- MongoDB
- Docker
- Clone the repository from GitHub:
git clone https://github.com/JeddineO/GeminiChatbot.git
- Navigate to the project directory:
cd GeminiChatbot
-
Set up Gemini API credentials:
- Obtain API credentials from Gemini and replace them in the appropriate configuration file (e.g.,
app.js
).
- Obtain API credentials from Gemini and replace them in the appropriate configuration file (e.g.,
-
Configure MongoDB connection:
- Update the MongoDB connection settings in the ChatBot application to point to your MongoDB instance.
-
Build Docker containers:
- Use Dockerfile(s) provided in the repository to build Docker images for both the ChatBot application and MongoDB container.
-
Run Docker containers:
- Start both Docker containers, ensuring they can communicate with each other.
-
Test the setup:
- Interact with the ChatBot to verify its functionality and ensure conversations are being stored in MongoDB.
- Once the setup is complete, users can interact with the ChatBot using predefined commands or natural language input.
- Conversations will be stored in the MongoDB database, allowing for analysis and retrieval of past interactions.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make changes and commit them with descriptive commit messages.
- Push your changes to your fork.
- Submit a pull request to the main repository's
master
branch.