Spaces:
Running
Running
Update Readme
Browse files
README.md
CHANGED
@@ -1,127 +1,3 @@
|
|
1 |
-
# ๐ Introducing MailSensei
|
2 |
-
## Your Cutting-Edge Email Management Companion ๐งโ๏ธ
|
3 |
-
|
4 |
-
<!-- <img src="https://i.ibb.co/Bg6h8qp/your-image.png" alt="MailSensei Image"> -->
|
5 |
-
<!--  -->
|
6 |
-
|
7 |
-
|
8 |
-

|
9 |
-
|
10 |
-
Tired of sifting through endless emails, only to discover they're not worth your time? Ever missed important messages due to email overload? In today's digital age, our inboxes are overflowing with both vital and distracting content. You might spend precious time on lengthy, irrelevant emails. MailSensei is here to revolutionize your email experience by addressing these challenges. ๐
|
11 |
-
|
12 |
-
### Need for a Solution ๐ค
|
13 |
-
|
14 |
-

|
15 |
-
|
16 |
-
CEOs and business professionals often receive hundreds of emails daily, making efficient email management essential. MailSensei offers a solution to navigate this email overload, ensuring that crucial messages are never missed and time is spent more productively. ๐๐ผ
|
17 |
-
|
18 |
-
### How to run the project ๐
|
19 |
-
- Visit the following URL to locate the project:- **[https://replit.com/@DevenNandapurka/Peerlist-Hackathon](https://replit.com/@DevenNandapurka/Peerlist-Hackathon)**
|
20 |
-
|
21 |
-
- You will see the replit workspace. Click the `Run` button.
|
22 |
-
|
23 |
-
- You need to setup an **App Password** before you can set credentails for MailSensei.
|
24 |
-
Here we have attached an article to guide you through setting up an app password -> **[Generate your App Password](https://support.google.com/mail/answer/185833?hl=en)**
|
25 |
-
|
26 |
-
- Once the project is up and running, enter your credentials in the project and click the `Set Credentials` button.
|
27 |
-
|
28 |
-
- Click the `Fetch Emails` button -> and all of your unread emails will be fetched and rendered in a short summary format.
|
29 |
-
|
30 |
-
### Our Unique Approach ๐
|
31 |
-
|
32 |
-
- **Gmail Credentials Setup:** Securely collect your "Gmail Address" and "App Password" via Streamlit to maintain the confidentiality of your email data. ๐
|
33 |
-
|
34 |
-
- **IMAP Connection:** Establish a connection to your Gmail account using IMAP (Internet Message Access Protocol) for seamless email access. ๐
|
35 |
-
|
36 |
-
- **Email Decoding:** Decode your emails to extract essential information, including "From," "Subject," and email content. ๐ค
|
37 |
-
|
38 |
-
- **Email Summarization:** Utilize Large Language Models (LLMs), specifically "distilbart-cnn-12-6," to generate concise summaries of your emails, saving you valuable time. ๐โณ
|
39 |
-
|
40 |
-
- **Tag Generation:** Intelligently categorize and organize emails using "t5-base-tag-generation." Tags are displayed alongside email details. ๐ท๏ธ
|
41 |
-
|
42 |
-
- **Streamlined Presentation:** Display email information in an ordered format, including "From," "Subject," and associated tags for easy reference. ๐
|
43 |
-
|
44 |
-
- **Dropdown Summaries:** Provide a dropdown button for each email, allowing users to access the summary with a single click, enhancing readability. ๐
|
45 |
-
|
46 |
-
- **Original Email Link:** Include a convenient link at the end of each summary that directs users to the original email for further context and action. ๐
|
47 |
-
|
48 |
-
### Technology Stack ๐ ๏ธ
|
49 |
-
|
50 |
-
- **Programming Languages:** Python
|
51 |
-
- **Web Framework:** Streamlit
|
52 |
-
- **Machine Learning Framework:** PyTorch
|
53 |
-
- **Email Access:** IMAP (Internet Message Access Protocol)
|
54 |
-
- **Text Processing:** Transformers library (from Hugging Face)
|
55 |
-
- **Logging:** Python Logging Library
|
56 |
-
|
57 |
-
### Models Used ๐ง
|
58 |
-
|
59 |
-
1. **Large Language Model (LLM) for Summarization:**
|
60 |
-
- **Model:** `sshleifer/distilbart-cnn-12-6` (DistilBART)
|
61 |
-
- **Purpose:** Summarizes email content to generate concise summaries.
|
62 |
-
- **Utilized for:** Email summarization.
|
63 |
-
|
64 |
-
2. **Spam Detection Model(Currently commented out as results are not accurate) :**
|
65 |
-
- **Model:** `1aurent/distilbert-base-multilingual-cased-finetuned-email-spam` (DistilBERT)
|
66 |
-
- **Purpose:** Detects spam emails within the inbox.
|
67 |
-
- **Utilized for:** Spam filtering.
|
68 |
-
|
69 |
-
3. **Tag Generation Model:**
|
70 |
-
- **Model:** `fabiochiu/t5-base-tag-generation` (T5)
|
71 |
-
- **Purpose:** Generates tags to categorize and organize emails.
|
72 |
-
- **Utilized for:** Email tagging and categorization.
|
73 |
-
|
74 |
-
|
75 |
-
### Running locally:
|
76 |
-
Requirements:
|
77 |
-
- Python 3.7+
|
78 |
-
- cuda (optional for GPU support)
|
79 |
-
- Minimum 4GB RAM is required to run the app
|
80 |
-
|
81 |
-
clone the repository:
|
82 |
-
```bash
|
83 |
-
git clone https://github.com/Deven1902/Peerlist-Hackathon
|
84 |
-
```
|
85 |
-
optionally create a virtual environment:
|
86 |
-
```bash
|
87 |
-
python -m venv venv
|
88 |
-
```
|
89 |
-
activate the virtual environment:
|
90 |
-
|
91 |
-
for Linux
|
92 |
-
```bash
|
93 |
-
source venv/bin/activate
|
94 |
-
```
|
95 |
-
|
96 |
-
for Windows
|
97 |
-
```bash
|
98 |
-
venv\Scripts\activate
|
99 |
-
```
|
100 |
-
|
101 |
-
install requirements using pip:
|
102 |
-
```bash
|
103 |
-
pip install -r requirements.txt
|
104 |
-
```
|
105 |
-
|
106 |
-
run the app:
|
107 |
-
```bash
|
108 |
-
streamlit run app/streamlit_app.py
|
109 |
-
```
|
110 |
-
|
111 |
-
### Future Enhancements ๐๐ฎ
|
112 |
-
|
113 |
-
- **Improved Spam Filtering:** We'll enhance the accuracy of our spam detection algorithm for a cleaner inbox. ๐ฎ
|
114 |
-
|
115 |
-
- **Tag Collections & Sharing:** Users can create and share tag collections, streamlining collaboration and productivity. ๐๐
|
116 |
-
|
117 |
-
- **Custom Tag Generation:** Customize your own tag generation models for tailored email organization. ๐ท๏ธ
|
118 |
-
|
119 |
-
- **User Preferences:** Fine-tune MailSensei with preferences like summarization length and tag rules for a personalized experience. โ๏ธ๐ค
|
120 |
-
|
121 |
-
|
122 |
-
*"Initially, we used OpenAI keys for all our app functions. However, we later changed our approach as some users may not have premium keys, and we wanted to ensure accessibility without additional costs. ๐๐"*
|
123 |
-
|
124 |
-
|
125 |
---
|
126 |
title: mailsensei
|
127 |
emoji: ๐ง
|
@@ -132,4 +8,3 @@ sdk_version: 1.28.2
|
|
132 |
app_file: app.py
|
133 |
pinned: false
|
134 |
---
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
title: mailsensei
|
3 |
emoji: ๐ง
|
|
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
---
|
|