Home
Login

Tutoriel complet pour construire un agent IA intelligent à partir de zéro, comprenant un assistant de messagerie, une collaboration homme-machine, une fonction de mémoire et l'intégration de Gmail.

Jupyter Notebook 485langchain-aiagents-from-scratch Last Updated: 2025-06-27

Agents From Scratch - Guide de construction d'agents IA à partir de zéro

Aperçu du projet

Ce dépôt est un guide pour construire des agents intelligents (agents) à partir de zéro. Il construit progressivement un agent "sensible à l'environnement", capable de gérer vos e-mails via l'API Gmail. Le projet est développé par l'équipe LangChain AI et constitue une excellente ressource pour apprendre et pratiquer le développement d'agents IA.

Structure du projet

Composants principaux

Le projet est divisé en 4 parties principales, chacune contenant un notebook Jupyter et l'implémentation de code correspondante :

  1. Bases de l'agent - Construire les fonctionnalités de base de l'agent
  2. Évaluation de l'agent - Implémenter un mécanisme d'évaluation des performances de l'agent
  3. Collaboration homme-machine - Intégrer l'intervention humaine et les processus de vérification
  4. Système de mémoire - Ajouter une mémoire à long terme et une capacité d'apprentissage

Structure des répertoires

  • notebooks/ - Contient les notebooks Jupyter à des fins d'enseignement
  • src/email_assistant/ - Code d'implémentation principal de l'assistant de messagerie
  • eval/ - Ensembles de données et outils liés à l'évaluation
  • tests/ - Suite de tests automatisés

Exigences techniques

Exigences environnementales

  • Version de Python : 3.11 ou version ultérieure (pour une compatibilité optimale avec LangGraph)
  • Dépendances principales : LangGraph, API OpenAI, LangSmith

Configuration des clés API

Les clés API suivantes doivent être configurées :

  • Clé API OpenAI (pour les appels de modèles de langage)
  • Clé API LangSmith (pour le suivi et l'évaluation)

Configuration de l'environnement

# Vérifier la version de Python
python3 --version

# Créer un environnement virtuel
python3 -m venv .venv
source .venv/bin/activate

# Mettre à niveau pip
python3 -m pip install --upgrade pip

# Installer le projet (en mode éditable)
pip install -e .

Configuration des variables d'environnement

# Copier le modèle de variables d'environnement
cp .env.example .env

Configurer dans le fichier .env :

LANGSMITH_API_KEY=your_langsmith_api_key
LANGSMITH_TRACING=true
LANGSMITH_PROJECT="interrupt-workshop"
OPENAI_API_KEY=your_openai_api_key

Modules de fonctionnalités détaillés

1. Introduction aux bases de LangGraph

  • Fichier : notebooks/langgraph_101.ipynb
  • Contenu : Présentation des concepts de base de LangGraph, y compris les modèles de conversation, les appels d'outils, la différence entre les agents et les workflows, les nœuds/arêtes/systèmes de mémoire LangGraph et l'utilisation de LangGraph Studio

2. Construction d'un assistant de messagerie

  • Notebook : notebooks/agent.ipynb
  • Code : src/email_assistant/email_assistant.py
  • Fonctionnalités :
    • Combinaison des étapes de classification des e-mails et du traitement des réponses de l'agent
    • Implémentation d'un workflow complet de traitement des e-mails
    • Fournir une fonction de réponse automatique aux e-mails

3. Système d'évaluation de l'agent

  • Notebook : notebooks/evaluation.ipynb
  • Ensemble de données : eval/email_dataset.py
  • Fonctionnalités :
    • Utilisation de Pytest et de l'API d'évaluation LangSmith pour l'évaluation
    • Implémentation d'un mécanisme d'évaluation basé sur LLM en tant qu'évaluateur
    • Évaluation de la précision des appels d'outils et des décisions de classification

4. Collaboration homme-machine (HITL)

  • Notebook : notebooks/hitl.ipynb
  • Code : src/email_assistant/email_assistant_hitl.py
  • Fonctionnalités :
    • Intégration d'un mécanisme de vérification humaine
    • Prise en charge de la confirmation humaine pour des appels d'outils spécifiques (tels que l'envoi d'e-mails, la planification de réunions)
    • Utilisation d'Agent Inbox comme interface d'interaction homme-machine

5. Système de mémoire

  • Code : src/email_assistant/email_assistant_hitl_memory.py
  • Fonctionnalités :
    • Apprendre et s'adapter aux commentaires des utilisateurs
    • Utilisation de LangGraph Store pour la persistance de la mémoire
    • Prise en charge des paramètres de préférences personnalisés

6. Intégration Gmail

  • Code : src/email_assistant/email_assistant_hitl_memory_gmail.py
  • Fonctionnalités :
    • Connexion réelle à l'API Gmail
    • Fonctionnalités complètes de gestion des e-mails
    • Prise en charge du déploiement sur la plateforme LangGraph

Système de test

Suite de tests automatisés

Le projet comprend un système de test automatisé complet pour vérifier l'exactitude de l'implémentation de l'assistant de messagerie :

# Exécuter les tests d'implémentation par défaut
python tests/run_all_tests.py

# Exécuter les tests d'implémentation spécifiques
python tests/run_all_tests.py --implementation email_assistant_hitl

# Exécuter les tests de toutes les implémentations
python tests/run_all_tests.py --all

# Spécifier le nom de l'expérience pour le suivi LangSmith
python tests/run_all_tests.py --experiment-name "Custom Test Run"

Versions d'implémentation testables

  • email_assistant - Assistant de messagerie de base
  • email_assistant_hitl - Version de collaboration homme-machine
  • email_assistant_hitl_memory - Version HITL avec fonction de mémoire
  • email_assistant_hitl_memory_gmail - Version d'intégration Gmail

Métriques d'évaluation

  • Inspection visuelle du suivi de l'agent
  • Métriques d'évaluation détaillées
  • Analyse comparative de différentes implémentations d'agents

Instructions de déploiement

Déploiement de la plateforme LangGraph

Le projet prend en charge le déploiement sur la plateforme LangGraph pour implémenter des services d'agents en environnement de production.

Configuration de l'outil Gmail

Les informations d'identification de l'API Google doivent être configurées conformément aux instructions du fichier src/email_assistant/tools/gmail/README.md.

Suggestions de parcours d'apprentissage

  1. Débutants : Commencez par le notebook LangGraph 101 pour comprendre les concepts de base
  2. Praticiens : Suivez l'ordre des quatre notebooks principaux pour construire progressivement des fonctionnalités complètes
  3. Développeurs : Étudiez le code d'implémentation dans le répertoire src pour comprendre la pratique de l'ingénierie
  4. Déployeurs : Configurez l'API Gmail et déployez-la dans un environnement de production

Caractéristiques techniques

  • Apprentissage progressif : De base à avancé, étape par étape
  • Application pratique : Scénarios réels de traitement des e-mails
  • Ingénierie complète : Solution complète comprenant les tests, l'évaluation et le déploiement
  • Extensibilité : Le principe peut être appliqué à d'autres tâches d'agent

Star History Chart