Carregando
0x10Lição 2 de 9

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.

20 min Questionário com 6 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • 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 XP

Estes 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.

0 de 5 classificadosPontuação 0/0
  • “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”

label_balance.py
from collections import Counter
labels = ["billing", "billing", "billing", "shipping", "technical"]
print(Counter(labels).most_common())
Saída
[('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.

Exercício 1

Escolha exemplos equilibrados

+25 XP

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
main.py
Carregando editor…

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.

Exercício 2

Formate os exemplos em tags

+25 XP

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
main.py
Carregando editor…

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…