Prompting em múltiplas etapas

Engenharia rápida com a API OpenAI

Fouad Trad

Machine Learning Engineer

Prompting em múltiplas etapas

  • Quebre o objetivo final em etapas
  • O modelo segue cada etapa para gerar a saída
  • Prompts em múltiplas etapas são usados para:
    • Tarefas sequenciais
    • Tarefas cognitivas

Diagrama mostrando que um prompt em múltiplas etapas dá ao modelo uma série de passos sequenciais para executar.

Engenharia rápida com a API OpenAI

Prompts em múltiplas etapas como mapas do tesouro

Imagem representando um mapa do tesouro com pistas para encontrá-lo.

Engenharia rápida com a API OpenAI

Prompt de etapa única: escrevendo um blog

prompt = "Compose a travel blog"
print(get_response(prompt))
Title: Explorando as paisagens encantadoras da Islândia

Introdução: Bem-vindo ao meu blog de viagem! Hoje, estou empolgado para compartilhar minha jornada inesquecível pelas 
ipnotizantes paisagens da Islândia. 

Dia 1: Reykjavik - A charmosa capital [...]
Dia 2: Círculo Dourado - As maravilhas da natureza [...]
Dia 3: Costa Sul - Uma jornada de gelo e fogo [...]
Dia 4: Lagoa Glacial - Um reino congelado [...]
Dia 5: Blue Lagoon - Um final relaxante [...]
Engenharia rápida com a API OpenAI

Prompt em múltiplas etapas: escrevendo um post de blog

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))
Engenharia rápida com a API OpenAI

Escrevendo um post de blog de viagem

Title: Explorando as encantadoras ruas de Barcelona

Passo 1: Apresente o destino. Bem-vindo a Barcelona, uma cidade vibrante à beira da deslumbrante costa mediterrânea da Espanha [...]
Passo 2: Compartilhe aventuras pessoais da viagem. Explorando as ruas estreitas e sinuosas do Bairro Gótico, esbarrei em joias escondidas a cada esquina. [...]
Passo 3: Resuma a jornada. Ao encerrar minha jornada por Barcelona, não pude deixar de me sentir grato pelas incríveis experiências e memórias que vivi [...]
Engenharia rápida com a API OpenAI

Analisando a correção da solução

  • Verificar a correção da solução exige várias etapas
  • Exemplo:
    • Código Python para funções de cálculo

Imagem de uma calculadora

Engenharia rápida com a API OpenAI

Analisando a correção da solução

Solução típica para verificar

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
"""
Prompt de etapa única:
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
Engenharia rápida com a API OpenAI

Prompt em múltiplas etapas para analisar a correção

Prompt em múltiplas etapas:
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.
Engenharia rápida com a API OpenAI

Prompt em múltiplas etapas vs. few-shot

Etapas

  • Diga explicitamente ao modelo o que fazer

Diagrama mostrando como um prompt em múltiplas etapas divide a instrução em uma série de passos para o modelo seguir um a um.

Engenharia rápida com a API OpenAI

Prompt em múltiplas etapas vs. few-shot

Etapas

  • Diga explicitamente ao modelo o que fazer

Diagrama mostrando como um prompt em múltiplas etapas divide a instrução em uma série de passos para o modelo seguir um a um.

Exemplos (shots)

  • Perguntas e respostas que o modelo aprende

Imagem mostrando como funciona um few-shot prompt, em que a entrada inclui exemplos de perguntas e respostas junto com a pergunta-alvo.

Engenharia rápida com a API OpenAI

Vamos praticar!

Engenharia rápida com a API OpenAI

Preparing Video For Download...