1. Livres & vidéos
  2. Le Machine Learning et l'IA générative avec Python
  3. Le prompt engineering
Extrait - Le Machine Learning et l'IA générative avec Python De la théorie à la pratique (2e édition)
Extraits du livre
Le Machine Learning et l'IA générative avec Python De la théorie à la pratique (2e édition)
9 avis
Revenir à la page d'achat du livre

Le prompt engineering

Objectif du chapitre

Le métier de prompt engineering repose sur l’art de concevoir des instructions, appelées prompts, qui permettent d’optimiser les interactions avec des modèles de langage de grande échelle (LLM, pour Large Language Models). Ces modèles, tels que GPT ou BERT, sont des outils puissants capables de comprendre et de générer du langage naturel avec une grande précision. Cependant, la qualité de leur réponse dépend largement de la clarté, de la précision et de la structure des prompts qui leur sont soumis. Le prompt engineer se positionne donc comme un médiateur entre les besoins de l’utilisateur et les capacités du modèle, garantissant ainsi que les résultats sont pertinents, adaptés et exploitables.

À la fin de ce chapitre, le lecteur aura abordé :

  • les notions fondamentales du prompt engineering ;

  • les techniques de prompt zero-shot, few-shot, Chain-of-Thought, Generated-Knowledge-Prompting, Generated-Knowledge-Prompting, Directional-stimulus-prompting, OPRO, Chain-of-Density ;

  • la génération du code avec les LLM.

Tous les exemples de prompts que nous allons voir dans ce chapitre ont été testés en utilisant ChatGPT 4o.

Le prompt engineering

1. Concepts généraux

Un prompt est une séquence de texte conçue pour fournir des instructions à un modèle de langage. Son but est de guider le modèle vers une réponse ou un comportement spécifique. La conception d’un prompt efficace repose sur une compréhension approfondie des capacités, mais aussi des limitations des LLM. Cela inclut l’évaluation des biais du modèle, la manière dont il interprète les requêtes et l’impact de la formulation sur la qualité des réponses générées.

Les prompts peuvent être simples ou complexes, naïfs ou stratégiquement construits. Leur structure peut inclure des questions, des consignes détaillées, des exemples précédents (few-shot), ou encore des incitations à raisonner (à travers des prompts de type Chain-of-Thought, par exemple). L’élaboration d’un prompt pertinent est une compétence cruciale pour maximiser l’efficacité des interactions avec un modèle de langage.

2. Les tokens

Les tokens sont les unités fondamentales avec lesquelles un modèle de langage interagit. Un token peut correspondre à un mot, une partie de mot ou un caractère, selon la méthode de tokenisation employée par le modèle. Par exemple, le mot « éléphant » pourrait être...

Exemples de prompts

Dans cette section, nous allons aborder quelques exemples de quelques-uns des types de prompts les plus populaires. Ces exemples de prompts vont vous aider à comprendre l’impact que peut avoir la structure d’un prompt sur la pertinence et la précision des réponses d’un LLM. En effet, il est important de garder en tête qu’un LLM est un algorithme probabiliste, mais orienté par nos propres instructions. Donc, la structure et le contenu de nos prompts ont un impact significatif sur les réponses d’un LLM. Pour le même besoin, nous pouvons écrire une infinité de prompts différents, cependant, l’expérience montre que deux prompts significativement différents donneront des résultats significativement différents.

1. Les prompts simples et naïfs

Un prompt simple pourrait ressembler à une question directe : « Quelle est la capitale de la France ? ». Bien que cela puisse suffire pour des tâches triviales, ces prompts manquent de précision pour des tâches complexes et risquent d’induire des réponses incorrectes ou incomplètes.

2. Les prompts zero-shot

Les prompts zero-shot ne fournissent aucun exemple au modèle. Par exemple : « Écris un résumé de cet article. ». Bien que puissants, ces prompts dépendent fortement de la capacité du modèle à généraliser à partir de la consigne seule.

Donc, nous pouvons dire que dès lors où nous posons une question directe à un LLM, il s’agit bien d’un prompt zéro-shot. Attention, les éléments du contexte d’une question ne sont pas à prendre en compte pour caractériser un prompt de zero-shot (ou même de few-shot que nous allons découvrir à la prochaine section). Par exemple, considérons le prompt suivant :

Commentaire : Cet hôtel est probablement le meilleur de la ville. Si vous recherchez un bon endroit où dormir tranquillement, alors vous êtes bien au bon hôtel. Cinq étoiles.

Commentaire : J’ai adoré cet hôtel, mais l’expérience culinaire globale n’était pas géniale. Le sol était sale et la salle de bain n’avait...

Conclusion

Dans ce chapitre, nous avons abordé le prompt engineering via des exemples de prompts. Ainsi, nous avons pu passer en revue quelques techniques de prompting en commençant par des prompts simples et naïfs, puis nous avons vu les techniques zero-shot sans et avec un contexte, few-shot, Chain-of-Thought, Generated-Knowledge-Prompting, Generated-Knowledge-Prompting, Directional-stimulus-prompting, OPRO, Chain-of-Density et enfin, nous avons vu la puissance des LLM dans le domaine de la génération du code. L’objectif de tous les exemples de prompts rencontrés dans ce chapitre et de montrer le fait qu’il existe différentes façons d’écrire les prompts outre la méthode naïve et en particulier, montrer le fait que nous pouvons donner des instructions précises et par étapes dans les prompts da manière assez proche de la manière avec laquelle nous avons l’habitude de donner des instructions dans un programme informatique classique.