Introduction à l'ingénierie des prompts

Ingénierie des prompts avec l'API OpenAI

Fouad Trad

Machine Learning Engineer

Qu'est-ce que l'ingénierie des prompts ?

Élaborer des prompts ou des instructions fournis aux LLM afin d'obtenir les réponses souhaitées

A picture showing an engineer introducing the terminology of prompt engineering.

Ingénierie des prompts avec l'API OpenAI

L'ingénierie des prompts, une vraie recette

Image showing a chef crafting a meal.

Ingénierie des prompts avec l'API OpenAI

Pourquoi l'ingénierie des prompts ?

  A visual diagram showing that high quality prompts lead to high quality answers

Ingénierie des prompts avec l'API OpenAI

Pourquoi l'ingénierie des prompts ?

  A visual diagram showing how the quality of the answers is affected by the quality of the input prompts. High quality prompts lead to high quality answers, and low quality prompts lead to low quality answers.

Ingénierie des prompts avec l'API OpenAI

Résumé : API OpenAI

  • Permet l'interaction avec les modèles OpenAI
  • Déjà configuré dans ce cours
  • Accès au point de terminaison des terminaisons de chat

chatgpt_logo_white.png

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image showing an icon for the user role.

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image showing an icon for the two roles: user and assistant.

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image showing an icon for each of the three roles: user, system, and assistant

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image showing an icon for each of the three roles, with a communication arrow between the system and the assistant to send system's messages.

  • Message système : guide le comportement du modèle
Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image showing an icon for each of the three roles, with a communication arrow between the system and the assistant to send system's messages, and a communication arrow between the user and the assistant to send a prompt.

  • Message système : guide le comportement du modèle
  • Message utilisateur : prompt de l'utilisateur
Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image showing an icon for each of the three roles, with a communication arrow between the system and the assistant to send system's messages, a communication arrow between the user and the assistant to send a prompt, and a communication arrow between the assistant and the user to send the response.

  • Message système : guide le comportement du modèle
  • Message utilisateur : prompt de l'utilisateur
  • Message de l'assistant : réponse au prompt de l'utilisateur
Ingénierie des prompts avec l'API OpenAI

Récapitulatif : paramètres de contrôle

Image showing a thermometer's icon with the possible values between 0 and 2, with 0 showing no randomness, and 2 showing highest randomness.

  • temperature : contrôle le caractère aléatoire des réponses
Ingénierie des prompts avec l'API OpenAI

Récapitulatif : paramètres de contrôle

Image showing a thermometer's icon with the possible values between 0 and 2, with 0 showing no randomness, and 2 showing highest randomness, along with a slider's icon that represents the max_tokens parameter where lower values on the slider would lead to shorter responses.

  • temperature : contrôle le caractère aléatoire des réponses
  • max_tokens : contrôle la longueur de la réponse
Ingénierie des prompts avec l'API OpenAI

Récapitulatif : communication avec l'API OpenAI

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-3.5-turbo",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
Prompt engineering refers to the process of designing and refining prompts or 
instructions given to a language model like ChatGPT in order to elicit desired 
responses or behaviors. It involves formulating specific guidelines or hints to 
guide the model's output towards a desired outcome.
Ingénierie des prompts avec l'API OpenAI

Création de la fonction get_response()

def get_response(prompt):

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

Utilisation

response = get_response("What is prompt engineering?")
print(response)
Prompt engineering refers to the process of designing and refining prompts or instructions given to a language model 
like ChatGPT in order to elicit desired responses or behaviors. It involves formulating specific guidelines or hints 
to guide the model's output towards a desired outcome.
Ingénierie des prompts avec l'API OpenAI

Amélioration du prompt

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Imagine you have a very smart friend who can understand and answer lots of 
questions. But sometimes, they might not understand exactly what you want or give 
the wrong answer. So, prompt engineering is like giving your friend really clear 
instructions or hints to help them give you the best answer possible.
Ingénierie des prompts avec l'API OpenAI

Passons à la pratique !

Ingénierie des prompts avec l'API OpenAI

Preparing Video For Download...