Use exemplos para mostrar o padrão
Mostre de 3 a 5 exemplos diversos e consistentes, equilibre os rótulos e deixe-os bem marcados.
- Decidir quando os exemplos ajudam mais do que as instruções
- Escolher exemplos diversos, equilibrados e consistentes
- Formatar os exemplos para que fiquem bem separados da entrada real
As instruções descrevem; os exemplos mostram. Para tom, formato, convenções de rotulagem e casos extremos complicados, algumas demonstrações muitas vezes valem mais do que parágrafos de regras - o artigo do GPT-3 (Brown et al., 2020) tornou famoso o prompting “few-shot” (com poucos exemplos).
As orientações atuais (Anthropic) sugerem de 3 a 5 exemplos, que devem ser:
- Relevantes - parecidos com as entradas reais, incluindo os casos difíceis.
- Diversos - variados o bastante para que o modelo não copie detalhes superficiais (o mesmo tamanho, as mesmas palavras iniciais).
- Equilibrados - se dois de três exemplos dizem “billing”, o modelo pende para “billing”.
- Bem marcados - dentro de tags
<example>, para não serem confundidos com a entrada de verdade.
Experimente
Até 15 XPEstes exemplos vão ajudar ou atrapalhar?
Você está construindo um classificador de chamados com os rótulos billing, shipping e technical. Avalie cada conjunto de exemplos.
“Cinco exemplos de billing e um de shipping”
“Um exemplo por rótulo, incluindo um chamado que fala ao mesmo tempo de reembolso e de um pacote atrasado (rotulado pelo problema principal)”
“Todos os exemplos começam com “Olá, estou com um problema com…””
“Exemplos no mesmo formato JSON que você quer receber, dentro de tags <example>”
“Um exemplo cujo rótulo contradiz as regras escritas”
from collections import Counter
labels = ["billing", "billing", "billing", "shipping", "technical"]
print(Counter(labels).most_common())[('billing', 3), ('shipping', 1), ('technical', 1)]Principais conclusões
Use exemplos quando o padrão for mais fácil de mostrar do que de descrever.
De 3 a 5 exemplos relevantes, diversos e equilibrados, coerentes com as suas instruções.
Coloque os exemplos em tags e teste com casos que o prompt não mostra.
Quiz da aula
6 perguntas · aprovação com 5 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva código em Python
Escreva código Python no editor e execute os testes com exemplos. O Python roda localmente no navegador usando WebAssembly.
Escolha exemplos equilibrados
A linha 1 é k. A linha 2 é uma lista JSON de candidatos [text, label]. Pegue os k primeiros candidatos de cada rótulo (na ordem da lista) e imprima-os em rodízio - um por rótulo a cada rodada, com os rótulos em ordem alfabética - como label: text.
Por fim, imprima warning: only N example(s) for LABEL para cada rótulo com menos de k.
- Conjunto desequilibrado
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Formate os exemplos em tags
Cada linha é input|output. Imprima um bloco <examples> com uma linha <example><input>…</input><output>…</output></example> por exemplo e depois </examples>. Escape &, < e > no texto com html.escape(text, quote=False) para que o conteúdo dos exemplos não quebre as tags.
- Dois exemplos
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…