import os
from openai import OpenAI
api_key = os.environ.get('OPENAI_API_KEY')
client = OpenAI(api_key=api_key)
def gerar_resposta(prompt, titulo):
print(titulo)
resposta = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": prompt}
],
temperature=0.7
)
print(resposta.choices[0].message.content)
print("====================")
# Zero-shot
prompt_zero = 'Traduza o texto para inglês: "Eu gosto de programar em Python."'
gerar_resposta(prompt_zero, "Zero-shot Prompting")
# One-shot
prompt_one = (
'Exemplo:\\n'
'Português: "Bom dia"\\n'
'Inglês: "Good morning"\\n\\n'
'Agora traduza:\\n'
'Português: "Boa noite"\\n'
'Inglês:'
)
gerar_resposta(prompt_one, "One-shot Prompting")
# Few-shot
prompt_few = (
'Exemplo 1:\\n'
'Produto: Caneca térmica -> "Mantenha seu café quente."\\n\\n'
'Exemplo 2:\\n'
'Produto: Mochila urbana -> "Leve tudo com estilo."\\n\\n'
'Agora gere slogans para: Fone sem fio'
)
gerar_resposta(prompt_few, "Few-shot Prompting")
# Chain-of-Thought
prompt_cot = (
"Resolva passo a passo:\\n"
"Se João tem 3 maçãs e compra mais 2, quantas maçãs ele terá no total?"
)
gerar_resposta(prompt_cot, "Chain-of-Thought Prompting")Tipos de Prompt
Ao interagir com LLMs, a forma como estruturamos o prompt influencia diretamente a qualidade e a precisão da resposta. Existem diferentes estratégias para projetar prompts, cada uma adequada a um cenário específico.
No Zero-shot Prompting, o modelo recebe apenas a instrução, sem exemplos prévios. É útil quando a tarefa é simples ou o modelo já tem conhecimento suficiente. A vantagem é que é mais rápido e direto, mas a desvantagem é que pode gerar respostas menos consistentes em tarefas complexas. Exemplo: Traduza o texto para inglês: "Eu gosto de programar em Python."
No One-shot Prompting, o prompt inclui um único exemplo antes da solicitação. É indicado quando queremos guiar o modelo com um exemplo claro. A vantagem é que dá contexto sem alongar muito o prompt, mas a desvantagem é que um único exemplo pode não cobrir todas as variações. Exemplo: Exemplo: Português: "Bom dia" → Inglês: "Good morning". Agora traduza: Português: "Boa noite" → Inglês:
No Few-shot Prompting, o prompt inclui vários exemplos antes da solicitação. É útil quando a tarefa exige consistência e formato específico. A vantagem é que melhora a precisão e o estilo da resposta, mas a desvantagem é que o prompt fica mais longo e com maior custo de tokens. Exemplo: Exemplo 1: Produto: Caneca térmica → "Mantenha seu café quente." Exemplo 2: Produto: Mochila urbana → "Leve tudo com estilo." Agora gere slogans para: Fone sem fio
Já no Chain-of-Thought (CoT) Prompting, o prompt incentiva o modelo a explicar o raciocínio passo a passo antes de dar a resposta final. É indicado para problemas de lógica, matemática ou raciocínio complexo. A vantagem é que melhora a precisão em tarefas que exigem múltiplos passos, mas a desvantagem é que a resposta tende a ser mais longa. Exemplo: Resolva passo a passo: Se João tem 3 maçãs e compra mais 2, quantas maçãs ele terá no total?
A técnica ReAct Prompting (que combina raciocínio e ação) será abordada mais adiante, na seção de Agentes.