Multi-step prompts

Prompt Engineering met de OpenAI API

Fouad Trad

Machine Learning Engineer

Meertraps-prompts

  • Breek een einddoel op in stappen
  • Model doorloopt elke stap en geeft eindoutput
  • Meertraps-prompts gebruik je voor:
    • Sequentiële taken
    • Cognitieve taken

Diagram dat laat zien dat een meertraps-prompt een reeks opeenvolgende stappen geeft aan het model.

Prompt Engineering met de OpenAI API

Meertraps-prompts als schatkaarten

Afbeelding van een schatkaart met enkele aanwijzingen om de schat te vinden.

Prompt Engineering met de OpenAI API

Enkelstaps-prompt: een blog schrijven

prompt = "Compose a travel blog"
print(get_response(prompt))
Title: De betoverende landschappen van IJsland verkennen

Introductie: Welkom op mijn reisblog! Vandaag deel ik graag mijn onvergetelijke tocht door 
de fascinerende landschappen van IJsland. 

Dag 1: Reykjavik - De charmante hoofdstad [...]
Dag 2: Golden Circle - Natuurwonderen [...]
Dag 3: Zuidkust - Een reis van ijs en vuur [...]
Dag 4: Gletsjerlagune - Een bevroren wonderland [...]
Dag 5: Blue Lagoon - Een ontspannen afsluiter [...]
Prompt Engineering met de OpenAI API

Meertraps-prompt: een blogpost schrijven

prompt = """Compose a travel blog as follows:
Step 1: Introduce the destination.
Step 2: Share personal adventures during the trip.
Step 3: Summarize the journey.
"""
print(get_response(prompt))
Prompt Engineering met de OpenAI API

Een reisblog schrijven

Title: De betoverende straten van Barcelona verkennen

Stap 1: Stel de bestemming voor. Welkom in Barcelona, een levendige stad aan de prachtige Middellandse Zeekust van Spanje [...]
Stap 2: Deel persoonlijke avonturen tijdens de trip. Terwijl ik door de smalle, kronkelende straatjes van de Gotische wijk liep, ontdekte ik overal verborgen parels. [...]
Stap 3: Vat de reis samen. Aan het einde van mijn reis door Barcelona voelde ik vooral dankbaarheid voor de geweldige ervaringen en herinneringen die ik had gemaakt [...]
Prompt Engineering met de OpenAI API

Oplossingscorrectheid analyseren

  • Oplossingscorrectheid checken kost meerdere stappen
  • Voorbeeld:
    • Python-code voor rekenfuncties

Afbeelding van een rekenmachine

Prompt Engineering met de OpenAI API

Oplossingscorrectheid analyseren

Typische oplossing om te checken

calculator = """
def add(a, b):
    return a + b
def subtract(a, b):
    return a - b
def multiply(a, b):
    return a * b
def divide(a, b):
    return a / b
"""
Enkelstaps-prompt:
prompt = f"""Determine if the code delimited 
by triple backticks is correct or not.
Answer by yes or no.
```{calculator}```"""

print(get_response(prompt))
Yes
Prompt Engineering met de OpenAI API

Meertraps-prompting om correctheid te analyseren

Meertraps-prompt:
prompt = f"""Determine the correctness of the code delimited by triple backticks 
as follows: 
Step 1: Check the code correctness in each function. 
Step 2: Verify if the divide function handles the case when dividing by 0. 
Code: ```{calculator}```"""

print(get_response(prompt))
The code appears to be correct. It defines four functions: add, subtract, multiply, and 
divide. Each function performs the corresponding mathematical operation and returns the
result. However, it does not handle the case when dividing by 0, which can result in a 
ZeroDivisionError.
Prompt Engineering met de OpenAI API

Meertraps- versus few-shot-prompt

Steps

  • Zeg expliciet wat het model moet doen

Diagram dat laat zien hoe een meertraps-prompt de instructie opdeelt in stappen die het model één voor één doorloopt.

Prompt Engineering met de OpenAI API

Meertraps- versus few-shot-prompt

Steps

  • Zeg expliciet wat het model moet doen

Diagram dat laat zien hoe een meertraps-prompt de instructie opdeelt in stappen die het model één voor één doorloopt.

Shots

  • Voorbeelden met vragen en antwoorden waar het model van leert

Afbeelding die toont hoe een few-shot-prompt werkt, met voorbeeldvragen en -antwoorden plus de vraag die we willen laten beantwoorden.

Prompt Engineering met de OpenAI API

Laten we oefenen!

Prompt Engineering met de OpenAI API

Preparing Video For Download...