Summarize and Narrate your emails through power of LLMs.
Project description
INarrator
Install the Package
pip install inarrator
Use the Package
Gmail
-
In the Google Cloud console, enable the Gmail API.
-
Register your App
- In the Google Cloud console, go to OAuth Consent screen
- Once on OAuth Consent Screen, select User Type External and then click create:
- Now complete the registration of your app which is fairly simple. Just remember two things:
- Since this is a Testing App, you will have to add some test users (ideally make it the same email through which you are registering the app)
- Add
.../auth/gmail.readonly
scope
-
Create "gmail_credentials.json" file:
- Go to Credentials
- Click
+ CREATE CREDENTIALS > OAuth client ID
- SELECT
Desktop app
as application type - After this a pop up will appear which will have a option to DOWNLOAD OAuth Client JSON file.
- Save the JSON and rename it to
gmail_credentials.json
-
Use the inarrator
-
Chat-GPT Example
from inarrator.email import Gmail from inarrator.summarizer.gpt import GPTModel gmail = Gmail() gmail.authenticate( credentials_path="gmail_credentials.json", gmail_scope=["https://www.googleapis.com/auth/gmail.readonly"], ) # https://support.google.com/mail/answer/7190 (You can read more about Gmail Filters) emails = gmail.get_latest_emails( gmail_filters="from:(-noreply -no-reply) is:unread -category:social -category:promotions -unsubscribe", # gmail_max_emails="30", ) model = GPTModel(model_name = 'gpt-3.5-turbo-16k',api_token = "") # OPENAI_API_KEY documents = [] for email in emails: documents.append(email) print(model.summarize(documents))
-
Hugging Face Hub Example
from inarrator.email import Gmail from inarrator.summarizer import HuggingFaceModel gmail = Gmail() gmail.authenticate( credentials_path="gmail_credentials.json", gmail_scope=["https://www.googleapis.com/auth/gmail.readonly"], ) emails = gmail.get_latest_emails( gmail_filters="from:(-noreply -no-reply) is:unread -category:social -category:promotions -unsubscribe", gmail_max_emails="30", ) model = HuggingFaceModel(model_name="tuner007/pegasus_summarizer", api_token="") # HF_HUB_TOKEN print(model.summarize(emails[0])) # Hugging Face Hub Models currently can summarize one email at a time.
Outlook
-
Create a New App Registration
-
Request API permissions (Only Mail.Read)
-
Configure the Platform
- Add a Mobile and Desktop Application
- Choose the Following Configuration
-
Create a new client secret
- Click on
+ New client secret
. - Now create the following JSON and name it
outlook_credentials.json
. You can getApplication (client) ID
&Directory (tenant) ID
from overview of your App.
{"application_id":"Application (client) ID", "authority_url":"https://login.microsoftonline.com/{Directory (tenant) ID}", "outlook_scope":["Mail.Read"]}
- Click on
-
Since OAuth only work https but our redirect URI is localhost, we would have to make the following environment variable
export OAUTHLIB_INSECURE_TRANSPORT=1
- Use the inarrator
-
Chat-GPT Example
from inarrator.email import OutLook from inarrator.summarizer.gpt import GPTModel outlook = OutLook() outlook.authenticate( credentials_path="outlook_credentials.json", outlook_scope=["Mail.Read"], ) emails = outlook.get_latest_emails( outlook_max_emails=5, ) model = GPTModel(model_name = 'gpt-3.5-turbo-16k',api_token = "") # OPENAI_API_KEY documents = [] for email in emails: documents.append(email) print(model.summarize(documents))
-
Hugging Face Hub Example
from inarrator.email import OutLook from inarrator.summarizer.huggingface import HuggingFaceModel outlook = OutLook() outlook.authenticate( credentials_path="outlook_credentials.json", outlook_scope=["Mail.Read"], ) emails = outlook.get_latest_emails( outlook_max_emails=5, ) model = HuggingFaceModel(model_name="tuner007/pegasus_summarizer", api_token="") # HF_HUB_TOKEN print(model.summarize(emails[0])) # Hugging Face Hub Models currently can summarize one email at a time.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
inarrator-0.0.3.tar.gz
(10.8 kB
view hashes)
Built Distribution
inarrator-0.0.3-py3-none-any.whl
(12.1 kB
view hashes)
Close
Hashes for inarrator-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b3a5e36aa1dd0f16df62830d0a46dd2b7cd6104935937d43ab95393dd17019e |
|
MD5 | 7f4d460956971b4674e5c1eb06655e37 |
|
BLAKE2b-256 | 523f5cf2e88fb5b85d30bf6da92e7b84c8e062a3bd3e6e19d92f31211323ca05 |