Voici un tutoriel pour débutants sur l’utilisation de l’API de ChatGPT pour le tri et la classification des emails. Ce tutoriel guide à travers les étapes nécessaires pour mettre en place un système de tri automatique des emails en utilisant ChatGPT.
Dans ce tutoriel, nous allons explorer comment utiliser l’API de ChatGPT pour automatiser le tri et la classification des emails. Vous apprendrez à intégrer l’API avec un système de messagerie, à créer des modèles de classification, et à automatiser le tri des emails en fonction de leur contenu.
Prérequis
1. Compte OpenAI : Inscrivez-vous sur OpenAI et obtenez votre clé API.
2. Environnement de Développement : Python installé avec les bibliothèques nécessaires (`openai` et `google-api-python-client` pour Gmail, par exemple).
3. Système de Messagerie : Pour cet exemple, nous utiliserons Gmail, mais des principes similaires s’appliquent à d’autres services de messagerie.
Étape 1 : Configurer l’Environnement
1. Installer les Bibliothèques Nécessaires
Ouvrez votre terminal et installez les bibliothèques Python requises :
“`bash
pip install openai google-api-python-client
“`
2. Configurer l’API de ChatGPT
Créez un fichier `config.py` pour stocker votre clé API OpenAI :
“`python
OPENAI_API_KEY = ‘votre_clé_api’
“`
Étape 2 : Authentification avec Gmail
1. Configurer l’Accès à l’API Gmail
Suivez les instructions sur la page des développeurs Google pour activer l’API Gmail et obtenir les informations d’identification. Téléchargez le fichier `credentials.json`.
2. Authentifier et Configurer l’Accès
Créez un fichier `gmail_setup.py` :
“`python
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build
import os.path
import pickle
SCOPES = [‘https://www.googleapis.com/auth/gmail.readonly’]
def get_gmail_service():
creds = None
if os.path.exists(‘token.pickle’):
with open(‘token.pickle’, ‘rb’) as token:
creds = pickle.load(token)
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file(
‘credentials.json’, SCOPES)
creds = flow.run_local_server(port=0)
with open(‘token.pickle’, ‘wb’) as token:
pickle.dump(creds, token)
service = build(‘gmail’, ‘v1’, credentials=creds)
return service
“`
Étape 3 : Utiliser l’API de ChatGPT pour Classifier les Emails
1. Créer une Fonction pour Appeler l’API de ChatGPT
Créez un fichier `chatgpt_helper.py` :
“`python
import openai
from config import OPENAI_API_KEY
openai.api_key = OPENAI_API_KEY
def classify_email(subject, body):
prompt = f”Classifie cet email en catégories comme ‘Travail’, ‘Personnel’, ‘Spam’, etc. \n\nSujet : {subject}\n\nCorps de l’email : {body}\n\nCatégorie :”
response = openai.Completion.create(
engine=”text-davinci-003″,
prompt=prompt,
max_tokens=10
)
category = response.choices[0].text.strip()
return category
“`
2. Obtenir et Classifier les Emails
Créez un fichier `email_classifier.py` :
“`python
from gmail_setup import get_gmail_service
from chatgpt_helper import classify_email
def get_emails(service):
results = service.users().messages().list(userId=’me’, q=’is:unread’).execute()
messages = results.get(‘messages’, [])
return messages
def classify_and_move_emails(service, messages):
for message in messages:
msg = service.users().messages().get(userId=’me’, id=message[‘id’]).execute()
headers = msg[‘payload’][‘headers’]
subject = next(header[‘value’] for header in headers if header[‘name’] == ‘Subject’)
body = msg[‘snippet’]
category = classify_email(subject, body)
print(f”Email Subject: {subject}”)
print(f”Category: {category}”)
Ici, vous pouvez ajouter du code pour déplacer l’email en fonction de la catégorie
def main():
service = get_gmail_service()
messages = get_emails(service)
classify_and_move_emails(service, messages)
if __name__ == ‘__main__’:
main()
“`
Étape 4 : Automatiser le Tri des Emails
1. Déplacement des Emails
Ajoutez du code dans `classify_and_move_emails` pour déplacer les emails en fonction de leur catégorie. Par exemple, pour déplacer les emails dans un label spécifique :
“`python
def move_email_to_label(service, email_id, label_id):
service.users().messages().modify(
userId=’me’,
id=email_id,
body={‘addLabelIds’: [label_id], ‘removeLabelIds’: [‘INBOX’]}
).execute()
“`
Vous devez d’abord créer les labels dans Gmail et obtenir leurs IDs.
2. Planifier l’Exécution
Utilisez des outils comme `cron` (pour Linux) ou le Planificateur de tâches (pour Windows) pour exécuter votre script à intervalles réguliers.
Exemple de tâche cron pour exécuter le script chaque heure :
“`sh
0 /usr/bin/python3 /chemin/vers/email_classifier.py
“`
Conclusion
Vous avez maintenant un système de tri et de classification des emails utilisant l’API de ChatGPT. Ce tutoriel a couvert l’installation et la configuration des outils nécessaires, la création de fonctions pour interagir avec l’API, et l’automatisation du processus de tri des emails. Vous pouvez personnaliser ce système selon vos besoins spécifiques et étendre ses fonctionnalités pour une gestion encore plus efficace de vos emails.
N’hésitez pas à explorer davantage les capacités de l’API de ChatGPT et à ajuster les paramètres et les prompts pour améliorer la précision de la classification.