Introdução ao prompt engineering

Engenharia rápida com a API OpenAI

Fouad Trad

Machine Learning Engineer

O que é prompt engineering?

Criar prompts ou instruções para LLMs a fim de obter respostas desejadas

Imagem mostrando uma pessoa explicando a terminologia de prompt engineering.

Engenharia rápida com a API OpenAI

Prompt engineering é como criar uma receita

Imagem mostrando um chef preparando uma refeição.

Engenharia rápida com a API OpenAI

Por que prompt engineering?

  Diagrama visual mostrando que prompts de alta qualidade geram respostas de alta qualidade

Engenharia rápida com a API OpenAI

Por que prompt engineering?

  Diagrama visual mostrando como a qualidade das respostas é afetada pela qualidade dos prompts de entrada. Prompts de alta qualidade levam a respostas de alta qualidade, e prompts de baixa qualidade levam a respostas de baixa qualidade.

Engenharia rápida com a API OpenAI

Recap: OpenAI API

  • Permite interagir com modelos da OpenAI
  • Já configurado neste curso
  • Acesso ao endpoint de Chat Completions

logotipo do ChatGPT em branco.

Engenharia rápida com a API OpenAI

Recap: papéis da mensagem

Cada mensagem tem um de três papéis

Imagem mostrando um ícone para o papel de usuário.

Engenharia rápida com a API OpenAI

Recap: papéis da mensagem

Cada mensagem tem um de três papéis

Imagem mostrando ícones para dois papéis: usuário e assistente.

Engenharia rápida com a API OpenAI

Recap: papéis da mensagem

Cada mensagem tem um de três papéis

Imagem mostrando um ícone para cada um dos três papéis: usuário, sistema e assistente

Engenharia rápida com a API OpenAI

Recap: papéis da mensagem

Cada mensagem tem um de três papéis

Imagem mostrando um ícone para cada um dos três papéis, com uma seta entre sistema e assistente para enviar mensagens do sistema.

  • Mensagem do sistema: orienta o comportamento do modelo
Engenharia rápida com a API OpenAI

Recap: papéis da mensagem

Cada mensagem tem um de três papéis

Imagem mostrando um ícone para cada um dos três papéis, com uma seta entre sistema e assistente para enviar mensagens do sistema, e outra entre usuário e assistente para enviar um prompt.

  • Mensagem do sistema: orienta o comportamento do modelo
  • Mensagem do usuário: prompt do usuário
Engenharia rápida com a API OpenAI

Recap: papéis da mensagem

Cada mensagem tem um de três papéis

Imagem mostrando um ícone para cada um dos três papéis, com uma seta entre sistema e assistente para enviar mensagens do sistema, outra entre usuário e assistente para enviar um prompt, e outra entre assistente e usuário para enviar a resposta.

  • Mensagem do sistema: orienta o comportamento do modelo
  • Mensagem do usuário: prompt do usuário
  • Mensagem do assistente: resposta ao prompt
Engenharia rápida com a API OpenAI

Recap: parâmetros de controle

Imagem de um ícone de termômetro com valores entre 0 e 2: 0 sem aleatoriedade e 2 com a maior.

  • temperature: controla a aleatoriedade da resposta
Engenharia rápida com a API OpenAI

Recap: parâmetros de controle

Imagem de um termômetro (0 a 2) e um controle deslizante que representa `max_tokens`, onde valores menores geram respostas mais curtas.

  • temperature: controla a aleatoriedade da resposta
  • max_tokens: controla o tamanho da resposta
Engenharia rápida com a API OpenAI

Recap: comunicando com a OpenAI API

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

Criando a função 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

Uso

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

Melhorando o 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 que você tem um amigo muito esperto que entende e responde muitas 
perguntas. Mas às vezes ele pode não entender bem o que você quer ou dar 
a resposta errada. Então, prompt engineering é como dar instruções bem claras 
ou dicas para esse amigo te dar a melhor resposta possível.
Engenharia rápida com a API OpenAI

Vamos praticar!

Engenharia rápida com a API OpenAI

Preparing Video For Download...