Retour aux cours
AI010 Professional

Introduction aux grands modèles linguistiques pour développeurs

Ce cours est une version adaptée au contexte chinois de la série de trois cours sur les grands modèles linguistiques lancée conjointement par Andrew Ng et OpenAI. Il couvre l'ingénierie des prompts, la construction de systèmes à l'aide de l'API ChatGPT, le développement d'applications avec LangChain et l'utilisation de LangChain pour accéder aux données privées. Le cours offre une introduction claire et accessible sur la manière d'utiliser les capacités des grands modèles linguistiques pour créer des applications dotées de fonctions de résumé, d'inférence, de transformation, d'expansion et de chat.

4.8
24h
916 étudiants
8 j'aime
Intelligence Artificielle

Aperçu du cours

📚 Résumé du contenu

Ce cours est une adaptation chinoise de la série en trois parties sur les grands modèles linguistiques (LLM), co-développée par Andrew Ng et OpenAI. Il couvre l'ingénierie des prompts, la construction de systèmes à partir de l'API ChatGPT, le développement d'applications avec LangChain, et l'utilisation de LangChain pour accéder aux données privées. Le cours offre une introduction approfondie mais accessible à l'exploitation des capacités des LLM pour développer des applications intégrant des fonctionnalités de résumé, d'inférence, de transformation, d'expansion et de conversation.

Maîtrisez l'ingénierie des prompts et le cadre LangChain pour devenir un développeur d'applications IA à l'ère des grands modèles.

🎯 Objectifs d'apprentissage

  1. Différencier les LLM de base des LLM ajustés aux instructions.
  2. Appliquer quatre tactiques spécifiques pour formuler des instructions claires et précises (délimiteurs, sortie structurée, vérifications conditionnelles et apprentissage par exemple).
  3. Mettre en œuvre des stratégies permettant aux modèles de « prendre le temps de réfléchir » en précisant les étapes de la tâche et en exigeant une résolution indépendante des problèmes.
  4. Implémenter le traitement textuel structuré : résumer et extraire des informations spécifiques à partir d’un ou plusieurs documents tout en contrôlant la longueur et le focus de la sortie.
  5. Effectuer une analyse automatisée du texte : catégoriser le sentiment, identifier des émotions spécifiques, et réaliser une classification de sujet sans exemple (zero-shot) à l’aide de prompts.
  6. Exécuter des transformations multimodales : traduire entre langues, convertir des formats de données (ex. JSON vers HTML), et corriger automatiquement la grammaire ou l’orthographe.
  7. Différencier les LLM de base des LLM ajustés aux instructions tout en comprenant l’impact de la tokenisation sur le comportement du modèle.
  8. Mettre en œuvre des architectures système structurées en utilisant les rôles System, User et Assistant pour définir des personnalités de modèle.
  9. Appliquer des techniques de classification et de modération pour évaluer les entrées utilisateur en matière de sécurité et de routage.
  10. Mettre en œuvre le chaînage de prompts : décomposer des tâches complexes en sous-tâches gérables afin d’améliorer la fiabilité et de réduire les coûts.

🔹 Leçon 1 : Principes de prompting et développement itératif

Aperçu : Cette leçon aborde les principes fondamentaux de l'ingénierie des prompts pour les développeurs, passant des « LLM de base » aux « LLM ajustés aux instructions ». Elle introduit deux piliers essentiels pour une interaction efficace : formuler des instructions claires et précises, et permettre au modèle suffisamment de « temps de réflexion ». En outre, elle établit un flux de travail itératif pour affiner les prompts afin de répondre à des exigences commerciales spécifiques telles que des contraintes de longueur et des besoins de formatage.

Objectifs d'apprentissage :

  • Différencier les LLM de base des LLM ajustés aux instructions.
  • Appliquer quatre tactiques spécifiques pour formuler des instructions claires et précises (délimiteurs, sortie structurée, vérifications conditionnelles et apprentissage par exemple).
  • Mettre en œuvre des stratégies permettant aux modèles de « prendre le temps de réfléchir » en précisant les étapes de la tâche et en exigeant une résolution indépendante des problèmes.

🔹 Leçon 2 : Capacités fondamentales du prompting et des chatbots

Aperçu : Cette leçon explore l'application pratique des grands modèles linguistiques (LLM) dans cinq domaines fonctionnels clés : résumé, inférence, transformation, expansion et création de chatbots interactifs. Elle fournit aux développeurs un guide pratique pour utiliser Python et l'API OpenAI afin de traiter le texte, extraire des données structurées, ajuster les styles linguistiques et maintenir le contexte conversationnel pour des applications du monde réel comme des bots de service client.

Objectifs d'apprentissage :

  • Implémenter le traitement textuel structuré : résumer et extraire des informations spécifiques à partir d’un ou plusieurs documents tout en contrôlant la longueur et le focus de la sortie.
  • Effectuer une analyse automatisée du texte : catégoriser le sentiment, identifier des émotions spécifiques, et réaliser une classification de sujet sans exemple (zero-shot) à l’aide de prompts.
  • Exécuter des transformations multimodales : traduire entre langues, convertir des formats de données (ex. JSON vers HTML), et corriger automatiquement la grammaire ou l’orthographe.

🔹 Leçon 3 : Logique du système : classification des entrées et raisonnement

Aperçu : Cette leçon explore les mécanismes fondamentaux des grands modèles linguistiques (LLM), passant de la tokenisation de base et des rôles de message à des stratégies avancées de gestion des entrées. Les étudiants apprendront à construire des systèmes robustes en classifiant l’intention de l’utilisateur, en modérant le contenu pour assurer la sécurité, et en mettant en œuvre le raisonnement en chaîne de pensée (CoT) pour améliorer la précision et contrôler l’expérience utilisateur via des « monologues internes ».

Objectifs d'apprentissage :

  • Différencier les LLM de base des LLM ajustés aux instructions tout en comprenant l’impact de la tokenisation sur le comportement du modèle.
  • Mettre en œuvre des architectures système structurées en utilisant les rôles System, User et Assistant pour définir des personnalités de modèle.
  • Appliquer des techniques de classification et de modération pour évaluer les entrées utilisateur en matière de sécurité et de routage.

🔹 Leçon 4 : Flux de travail complexes et évaluation du système

Aperçu : Cette leçon traite de la transition des prompts simples aux workflows LLM complexes et multi-étapes. Elle se concentre sur le « chaînage de prompts » pour décomposer les tâches, l’implémentation de couches de sécurité via l’API de modération, et la mise en place de cadres d’évaluation rigoureux — tant pour les cas ayant une seule réponse correcte que pour ceux nécessitant une évaluation subjective basée sur des critères.

Objectifs d'apprentissage :

  • Mettre en œuvre le chaînage de prompts : décomposer des tâches complexes en sous-tâches gérables afin d’améliorer la fiabilité et de réduire les coûts.
  • Construire un système sécurisé de bout en bout : intégrer des mécanismes de modération d’entrée/sortie et de vérification des faits dans un pipeline prêt à être mis en production.
  • Développer des stratégies d’évaluation : créer des jeux de validation pour mesurer les performances des LLM à l’aide de comparaisons avec des réponses « idéales » et des rubriques assistées par LLM.

🔹 Leçon 5 : Fondamentaux de LangChain : modèles, prompts et mémoire

Aperçu : Cette leçon présente les composants essentiels du cadre LangChain, en se concentrant particulièrement sur la manière d’abstraire les interactions avec les grands modèles linguistiques (LLM). Elle couvre la transition des appels API directs vers l’utilisation des composants modulaires de LangChain : Modèles, Modèles de prompts et Parseurs de sortie, avant de conclure par une exploration approfondie de quatre stratégies distinctes de mémoire pour maintenir l’état de la conversation.

Objectifs d'apprentissage :

  • Mettre en œuvre des appels de base aux LLM à l’aide de ChatOpenAI et des composants modulaires de LangChain.
  • Créer des structures réutilisables de ChatPromptTemplate pour gérer la logique complexe des prompts et les variables.
  • Extraire des données structurées (JSON/dictionnaires Python) à partir de réponses non structurées des LLM à l’aide de StructuredOutputParser.

🔹 Leçon 6 : Chaînes LangChain, Q&A et agents autonomes

Aperçu : Cette leçon couvre les blocs architecturaux fondamentaux de LangChain, passant des séquences linéaires simples de prompt-complétion à des systèmes complexes et orientés logique. Les étudiants apprendront à orchestrer plusieurs appels LLM à travers des chaînes, à implémenter la génération augmentée par récupération (Q&A) sur des documents privés à l’aide de magasins vectoriels, et à déployer des agents autonomes capables de raisonner pour sélectionner et exécuter des outils. Le matériel insiste sur le passage au-delà des interactions à un seul prompt vers des applications LLM automatisées et évolutives.

Objectifs d'apprentissage :

  • Construire des flux de travail linéaires et complexes à plusieurs étapes à l’aide de SequentialChain et RouterChain.
  • Créer un système Q&A basé sur des documents en utilisant des embeddings, des magasins vectoriels et la chaîne RetrievalQA.
  • Implémenter une évaluation automatisée des applications LLM à l’aide de QAGenerateChain et QAEvalChain.

🔹 Leçon 7 : Préparation des données privées : chargement et vectorisation

Aperçu : Cette leçon couvre les premières étapes de la construction d’un système de génération augmentée par récupération (RAG) à l’aide de LangChain. Elle guide les développeurs à charger des données non structurées provenant de sources diverses (PDF, YouTube, web, Notion), à diviser ces données en morceaux sémantiquement significatifs, puis à transformer ces morceaux en embeddings numériques destinés au stockage et à la recherche de similarité dans des bases de données vectorielles.

Objectifs d'apprentissage :

  • Mettre en œuvre divers chargeurs de documents LangChain pour importer des données depuis des PDF, des fichiers audio YouTube, des URL web et des bases de données Notion.
  • Configurer et comparer différents découpeurs de texte (caractère, récursif, token, Markdown) en utilisant des paramètres comme chunk_size et chunk_overlap.
  • Exécuter le processus de vectorisation en créant des embeddings et en les stockant dans un magasin vectoriel Chroma pour permettre des recherches de similarité sémantique.

🔹 Leçon 8 : Génération augmentée par récupération (RAG) et interaction

Aperçu : Ce matériel explore la transition des recherches sémantiques basiques vers des techniques avancées de récupération et d’interaction conversationnelle dans les applications LLM. Il couvre des techniques de récupération sophistiquées — telles que le Maximum Marginal Relevance (MMR), le filtrage par métadonnées et la compression contextuelle — avant de démontrer comment construire des chaînes Q&A à état et des chatbots complets à l’aide des composants de mémoire et d’interface graphique de LangChain.

Objectifs d'apprentissage :

  • Mettre en œuvre des stratégies avancées de récupération (MMR, Self-Querying, Compression) pour améliorer la diversité et la pertinence des documents récupérés.
  • Comparer et déployer différents types de chaînes (stuff, MapReduce, Refine) pour traiter le contexte récupéré dans les tâches de réponse à des questions.
  • Construire une interface de chatbot à état à l’aide de ConversationalRetrievalChain et ConversationBufferMemory pour maintenir le contexte de la discussion.