Introduction à l'ingénierie d'invite

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Fouad Trad

Machine Learning Engineer

Qu'est-ce que l'ingénierie d'invite ?

Formuler des invites ou des consignes pour les LLM afin d'obtenir les réponses visées

Image d'un ingénieur présentant la terminologie de l'ingénierie d'invite.

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

L'ingénierie d'invite, c'est comme créer une recette

Image d'un chef qui prépare un plat.

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Pourquoi l'ingénierie d'invite ?

  Schéma montrant que des invites de qualité donnent des réponses de qualité

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Pourquoi l'ingénierie d'invite ?

  Schéma montrant comment la qualité des réponses dépend de la qualité des invites. Des invites de qualité élevée donnent des réponses de qualité élevée, et des invites de faible qualité donnent des réponses de faible qualité.

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : OpenAI API

  • Permet d'interagir avec les modèles OpenAI
  • Déjà configuré dans ce cours
  • Accès au point de terminaison Chat Completions

chatgpt_logo_white.png

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : rôles de message

Chaque message a l'un de trois rôles

Icône représentant le rôle utilisateur.

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : rôles de message

Chaque message a l'un de trois rôles

Icône représentant les deux rôles : utilisateur et assistant.

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : rôles de message

Chaque message a l'un de trois rôles

Icône représentant chacun des trois rôles : utilisateur, système et assistant

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : rôles de message

Chaque message a l'un de trois rôles

Icône représentant chacun des trois rôles, avec une flèche de communication entre le système et l'assistant pour envoyer les messages du système.

  • Message système : guide le comportement du modèle
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : rôles de message

Chaque message a l'un de trois rôles

Icône représentant chacun des trois rôles, avec une flèche de communication entre le système et l'assistant pour envoyer les messages du système, et une flèche entre l'utilisateur et l'assistant pour envoyer une invite.

  • Message système : guide le comportement du modèle
  • Message utilisateur : invite de l'utilisateur
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : rôles de message

Chaque message a l'un de trois rôles

Icône représentant chacun des trois rôles, avec une flèche de communication entre le système et l'assistant pour envoyer les messages du système, une flèche entre l'utilisateur et l'assistant pour envoyer une invite, et une flèche entre l'assistant et l'utilisateur pour envoyer la réponse.

  • Message système : guide le comportement du modèle
  • Message utilisateur : invite de l'utilisateur
  • Message assistant : réponse à l'invite
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : paramètres de contrôle

Icône de thermomètre avec des valeurs possibles entre 0 et 2 ; 0 = aucune aléatoire, 2 = aléatoire maximale.

  • temperature : contrôle l'aléatoire de la réponse
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : paramètres de contrôle

Icône de thermomètre avec valeurs 0 à 2, et icône de curseur représentant le paramètre max_tokens : une valeur plus basse donne des réponses plus courtes.

  • temperature : contrôle l'aléatoire de la réponse
  • max_tokens : contrôle la longueur de la réponse
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Rappel : communiquer avec l'API OpenAI

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-4o-mini",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
L'ingénierie d'invite désigne le processus de conception et d'affinage des invites ou des 
consignes données à un modèle linguistique comme ChatGPT afin d'obtenir les réponses 
ou comportements souhaités. Elle consiste à formuler des lignes directrices ou des indices 
précis pour orienter la sortie du modèle vers le résultat visé.
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Créer la fonction get_response()

def get_response(prompt):

response = client.chat.completions.create( model = "gpt-4o-mini", messages = [{"role": "user", "content": prompt}], temperature = 0 )
return response.choices[0].message.content

Utilisation

response = get_response("What is prompt engineering?")
print(response)
L'ingénierie d'invite désigne le processus de conception et d'affinage des invites ou des consignes données 
à un modèle linguistique comme ChatGPT afin d'obtenir les réponses ou comportements souhaités. Elle consiste 
à formuler des lignes directrices ou des indices précis pour orienter la sortie du modèle vers le résultat visé.
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Améliorer une invite

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Imaginez que vous avez un ami très futé qui peut comprendre et répondre à plein de 
questions. Mais parfois, il ne comprend pas exactement ce que vous voulez ou il donne 
la mauvaise réponse. L'ingénierie d'invite, c'est comme donner à votre ami des consignes 
ou des indices très clairs pour l'aider à vous donner la meilleure réponse possible.
Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Passons à la pratique !

Conception de invites (Prompt Engineering) avec l'API d'OpenAI

Preparing Video For Download...