Multi-step prompting

Prompt Engineering with the OpenAI API

Fouad Trad

Machine Learning Engineer

Multi-step prompting

  • Break down an end goal into series of steps
  • Model goes through each step to give final output
  • Multi-step prompts are used for:
    • Sequential tasks
    • Cognitive tasks

Diagram showing that a multi-step prompt is a prompt that gives the model a series of sequential steps to perform.

Prompt Engineering with the OpenAI API

Multi-step prompts as treasure maps

Image representing a treasure map along with some clues to find the treasure.

Prompt Engineering with the OpenAI API

Single-step prompt: writing a blog

prompt = "Compose a travel blog"
print(get_response(prompt))
Title: Exploring the Enchanting Landscapes of Iceland

Introduction: Welcome to my travel blog! Today, I am thrilled to share my unforgettable journey through 
the mesmerizing landscapes of Iceland. 

Day 1: Reykjavik - The Charming Capital [...]
Day 2: Golden Circle - Nature's Wonders [...]
Day 3: South Coast - A Journey of Ice and Fire [...]
Day 4: Glacier Lagoon - A Frozen Wonderland [...]
Day 5: Blue Lagoon - A Relaxing Finale [...]
Prompt Engineering with the OpenAI API

Multi-step prompt: writing a blog post

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 with the OpenAI API

Writing a travel blog post

Title: Exploring the Enchanting Streets of Barcelona

Step 1: Introduce the destination. Welcome to Barcelona, a vibrant city nestled along the stunning Mediterranean coast of Spain [...]
Step 2: Share personal adventures during the trip. Exploring the narrow, winding streets of the Gothic Quarter, I stumbled upon hidden gems at every turn. [...]
Step 3: Summarize the journey. As my journey through Barcelona came to an end, I couldn't help but feel grateful for the incredible experiences and memories I had made [...]
Prompt Engineering with the OpenAI API

Analyzing solution correctness

  • Checking solution correctness requires multiple steps
  • Example:
    • Python code for calculation functions

Image of a calculator

Prompt Engineering with the OpenAI API

Analyzing solution correctness

Typical solution to check

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
"""
Single-Step 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 with the OpenAI API

Multi-step prompting to analyze solution correctness

Multi-Step 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 with the OpenAI API

Multi-step versus few-shot prompt

Steps

  • Explicitly tell model what to do

Diagram showing how a multi-step prompt breaks down the instruction into a series of steps in the input for the model to go over them one by one.

Prompt Engineering with the OpenAI API

Multi-step versus few-shot prompt

Steps

  • Explicitly tell model what to do

Diagram showing how a multi-step prompt breaks down the instruction into a series of steps in the input for the model to go over them one by one.

Shots

  • Questions and answers model learns from

Image showing how a few-shot prompt works, where the input to the model is a set of example questions and answers along with the question we want the model to answer.

Prompt Engineering with the OpenAI API

Let's practice!

Prompt Engineering with the OpenAI API

Preparing Video For Download...