This project aims to provide users with a convenient way to interact with an email-based assistant through a chat interface. The chatbot serves as an intermediary between the user and their email inbox, summarizing received emails and allowing users to reply with short sentences. The bot then handles the sending of appropriate email responses based on user input.
- Email Summarization: The chatbot summarizes received emails, providing users with concise information.
- Chat Interface: Users can interact with the email assistant through a simple chat interface.
- Email Integration: The bot sends and receives emails on behalf of the user, facilitating seamless communication.
- User Replies: Users can reply to emails directly within the chat interface using short sentences.
- Gemini API: Utilized for creating the chat interface and handling user interactions.
- Python: Used for backend logic, email handling, and integration with the Gemini API.
- Email Handling Module: Python module responsible for fetching, summarizing, and sending emails.
- Gemini Integration Module: Python module handling communication with the Gemini API for chat functionality.
The software architecture of the system involves the following components:
- Gemini API Integration: The Gemini Integration Module interacts with the Gemini API to provide the chat interface. It handles user messages, forwards them to the appropriate handlers, and displays responses from the email assistant.
- Email Handling Module: This module integrates with the user's email account, fetching new emails, summarizing their content, and preparing responses based on user interactions.
- Backend Logic: Python scripts manage the overall logic of the system, orchestrating communication between the Gemini Integration Module and the Email Handling Module. This includes handling user inputs, triggering email actions, and managing the flow of conversation.
- Database: Optionally, a database can be utilized to store user preferences, conversation history, and other relevant data.
- Clone the repository to your local machine.
- Install necessary dependencies using
pip install -r requirements.txt
. - Configure email account credentials in the Email Handling Module.
- Set up Gemini API credentials and configure the Gemini Integration Module.
- Run the backend Python scripts to start the email assistant.
- Access the chat interface through the provided URL to start interacting with the assistant.
This project is licensed under the Apache-2.0 license.