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

Une image montrant un ingénieur présentant la terminologie du prompt engineering.

Ingénierie des prompts avec l'API OpenAI

L'ingénierie des prompts, une vraie recette

Image montrant un chef préparant un repas.

Ingénierie des prompts avec l'API OpenAI

Pourquoi l'ingénierie des prompts ?

Un schéma visuel montrant que des prompts de haute qualité conduisent à des réponses de haute qualité

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. Des prompts de haute qualité mènent à des réponses de haute qualité, et des prompts de faible qualité mènent à des réponses de faible qualité.](https://assets.datacamp.com/production/repositories/6337/datasets/b0eef3920ea97f68a5ed6fdf38a719ed347e0001/promptquality.png = 100)

Ingénierie des prompts avec l'API OpenAI

Résumé : API OpenAI

Permet l'interaction avec les modèles OpenAI

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 montrant une icône pour le rôle utilisateur.

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image montrant une icône pour les deux rôles : utilisateur et assistant.

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image montrant une icône pour chacun des trois rôles : utilisateur, système et assistant

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image montrant une icône pour 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

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : rôles des messages

Chaque message remplit l'une des trois fonctions

Image montrant une icône pour 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 de communication entre l’utilisateur et l’assistant pour envoyer un 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 montrant une icône pour 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 de communication entre l’utilisateur et l’assistant pour envoyer un prompt, et une flèche de communication entre l’assistant et l’utilisateur pour envoyer la réponse. 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 montrant une icône de thermomètre avec les valeurs possibles entre 0 et 2, 0 indiquant aucune randomité et 2 indiquant la randomité maximale.

Ingénierie des prompts avec l'API OpenAI

Récapitulatif : paramètres de contrôle

Image montrant une icône de thermomètre avec les valeurs possibles entre 0 et 2, 0 indiquant aucune randomisation et 2 la randomisation la plus élevée, ainsi qu’une icône de curseur représentant le paramètre max_tokens, où des valeurs plus faibles sur le curseur entraîneraient des réponses plus courtes. 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-4o-mini",
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-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)
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...