Princípios-chave de engenharia de prompts

Engenharia rápida com a API OpenAI

Fouad Trad

Machine Learning Engineer

Prompts claros e precisos

Um diagrama mostrando uma padaria e uma casa com duas rotas possíveis entre elas. Uma é simples e curta (eficaz) e a outra é complicada e longa (ineficaz).

Engenharia rápida com a API OpenAI

Princípios-chave

 

  • 🎬 Verbos de ação adequados
  • 💬 Instruções detalhadas e precisas
  • ❗ Prompts bem estruturados com delimitadores
Engenharia rápida com a API OpenAI

Usando verbos de ação

  • Guie o modelo sobre o que fazer

Tabela com verbos a usar, incluindo write, complete, explain, describe e evaluate.

Engenharia rápida com a API OpenAI

Evite verbos ambíguos

  • Confundem o entendimento do modelo

Tabela com verbos a usar, incluindo write, complete, explain, describe e evaluate, e verbos a evitar, como understand, think, feel, try e know.

Engenharia rápida com a API OpenAI

Prompt eficaz com verbos

prompt = "Think about the issue of 
deforestation."
response = get_response(prompt)
print(response)
Deforestation is a significant 
environmental issue involving 
permanently removing
or destroying forests and woodlands. 
It has far-reaching impacts on the 
environment, ecosystems, wildlife, 
and human communities. [...]
prompt = "Propose strategies to 
reduce deforestation."
response = get_response(prompt)
print(response)
Reducing deforestation requires 
a comprehensive and multi-dimensional 
approach involving various stakeholders. 
Here are several strategies 
that can help address the issue:
Strengthen Forest Governance
Promote Sustainable Land Use [...]
Engenharia rápida com a API OpenAI

Como formular instruções detalhadas

 

Forneça instruções específicas, descritivas e detalhadas sobre:

  • 📖 Contexto
  • 📏 Tamanho da saída
  • 🖌 Formato e estilo
  • 👥👥 Público-alvo
Engenharia rápida com a API OpenAI

Prompt eficaz com instruções

Prompt ineficaz: "Tell me about dogs."

Prompt eficaz

prompt = "Write a descriptive paragraph about the behavior and characteristics of 
Golden Retrievers, highlighting their friendly nature, intelligence, 
and suitability as family pets."
print(get_response(prompt))
Golden Retrievers are beloved worldwide for their exceptional behavior, remarkable 
characteristics, and friendly nature. They are highly intelligent, trainable, and 
adaptable, making them great companions for families, including those with children.
Engenharia rápida com a API OpenAI

Limitando o tamanho da saída

max_tokens:

  • Limite de tokens
  • A saída não pode ultrapassar
  • Pode gerar respostas cortadas/incompletas

Prompt:

  • Limite de palavras, frases ou parágrafos
  • A saída pode ignorar
  • Respostas completas
Engenharia rápida com a API OpenAI

Componentes do prompt

  • Instruções e dados de entrada para operar
  • Exemplo: sumarização de texto
    • Instrução: resuma o texto dado
    • Entrada: texto a ser resumido

Um ícone que representa a tarefa de sumarização de texto

Engenharia rápida com a API OpenAI

Criando um prompt bem estruturado com delimitadores

  • Comece o prompt com instruções
  • Use delimitadores (parênteses, colchetes, crases etc.) para marcar as partes de entrada
  • Mencione quais delimitadores você usou
prompt = """Summarize the text delimited by triple backticks into bullet points.
           ```TEXT GOES HERE```"""
response = get_response(prompt)
Engenharia rápida com a API OpenAI

Usando f-strings (strings formatadas)

  • Incluir uma string definida em outra string
text = "This is a sample text to summarize"

prompt = f"""Summarize the text delimited by triple backticks into bullet points. ```{text}```"""
print(prompt)
Summarize the text delimited by triple backticks into bullet points.
```This is a sample text to summarize```
Engenharia rápida com a API OpenAI

Vamos praticar!

Engenharia rápida com a API OpenAI

Preparing Video For Download...