Module 03 · Construire avec les LLM

Construire des applications avec l'API

D'un simple appel à un vrai programme – conversation à plusieurs tours, sortie en streaming, appel d'outils, nouvelles tentatives après erreur et suivi des coûts, pour aboutir à la première version du projet fil rouge RepoBot.

Leçons

  1. 01
    Conversation à plusieurs tours : le modèle ne se souvient de rien

    Écrire un programme de discussion en ligne de commande, et constater que le modèle n'a pas de mémoire – la « mémoire », c'est simplement renvoyer l'historique à chaque fois. Puis comparer deux façons de gérer un historique trop long, la troncature et le résumé.

    35 minutes · Débutant
  2. 02
    Sortie en streaming

    Afficher la réponse au fur et à mesure de sa génération. Mesurer le temps d'apparition du premier caractère avec et sans streaming, gérer usage et le contenu de réflexion en streaming, puis pousser en temps réel la sortie du modèle vers le navigateur avec FastAPI.

    35 minutes · Intermédiaire
  3. 03
    Appel d'outils : laisser le modèle agir

    Le modèle ne peut ni consulter lui-même des données en temps réel, ni exécuter la moindre action. Lui donner un vrai outil, qui cherche la dernière version d'un paquet sur PyPI, et parcourir tout le déroulé d'un appel d'outils, y compris les appels parallèles, la gestion des erreurs et les précautions en mode réflexion.

    45 minutes · Intermédiaire
  4. 04
    Erreurs, nouvelles tentatives, limites de débit et coûts

    Reproduire les erreurs d'API les plus courantes, voir quelles nouvelles tentatives le SDK openai fait déjà pour vous, puis écrire une fonction d'appel avec délai d'expiration, attente exponentielle, limitation de la concurrence et suivi des coûts, prête à intégrer dans un projet.

    40 minutes · Intermédiaire
  5. 05
    Projet : première version de l'assistant

    Assembler conversation à plusieurs tours, streaming, nouvelles tentatives et suivi des coûts dans RepoBot v1, un assistant de questions-réponses sur httpx. Le tester avec 6 questions à réponse connue, et voir ce qu'il répond juste et ce qu'il invente.

    60 minutes · Intermédiaire

Dans les deux modules précédents, chaque exemple se résumait à « un appel, afficher le résultat ». Une vraie application affronte bien d'autres problèmes : l'utilisateur pose plusieurs questions à la suite ; la réponse est trop longue et il s'impatiente ; il faut consulter des données en temps réel ; le réseau coupe, le service limite le débit, et la facture doit être tenue à jour.

Ce module résout ces problèmes un par un, puis les assemble dans la première version du projet fil rouge RepoBot : un assistant de questions-réponses sur httpx, en ligne de commande, qui converse en continu, affiche ses réponses en streaming, réessaie automatiquement et indique le coût de chaque tour.

Pourquoi cet ordre

La leçon 1 clarifie d'abord ce qu'est une « conversation » au niveau de l'API ; toutes les leçons suivantes reposent sur la liste de messages. La sortie en streaming de la leçon 2 améliore l'expérience utilisateur et reste assez indépendante. L'appel d'outils de la leçon 3 est le plus important et le plus complexe : c'est la base des agents du module 05. La leçon 4 traite des problèmes que toutes ces fonctions rencontrent en conditions réelles : les erreurs et l'argent. La leçon 5 assemble les quatre premières.

Vous avez terminé quand

  • vous savez écrire un programme de discussion en ligne de commande, et tronquer ou compresser l'historique quand il devient trop long.
  • vous savez afficher une réponse au fur et à mesure de sa génération grâce au streaming, et savez comment la relayer vers un navigateur.
  • vous savez écrire de zéro une boucle d'appel d'outils complète : description, exécution, renvoi du résultat, gestion des appels parallèles et des erreurs d'outil.
  • vous savez écrire une fonction d'appel avec délai d'expiration, nouvelles tentatives à attente exponentielle, limitation de la concurrence et suivi des coûts.
  • RepoBot v1 tourne sur votre ordinateur, et vous savez dire sur quels types de questions il se trompe, et pourquoi.

Le code de ce module

Le code et les sorties des programmes sont reproduits tels qu’ils ont tourné : commentaires et sorties sont donc en chinois.