Confira nosso post no blog Prompting de contexto longo para o Claude 2.1 para ver um exemplo de preenchimento altamente eficaz.


Por que preencher a resposta do Claude?

Preencher a resposta do Claude oferece vários benefícios principais:

  1. Maior direcionabilidade: Ao fornecer algum texto inicial para o Claude continuar, você pode direcionar a resposta do Claude na direção desejada. Isso é particularmente útil quando você quer que o Claude se concentre em um tópico específico, gere um tipo específico de conteúdo ou aja de uma certa maneira.
  2. Controlar o formato de saída: O preenchimento permite que você especifique o formato exato que deseja que o Claude use para sua saída. Isso é especialmente útil ao trabalhar com formatos de dados estruturados como JSON ou XML. Para mais detalhes sobre isso, consulte nosso guia sobre controlar o formato de saída.
  3. Manter a consistência do personagem: Em cenários de role-play, preencher a resposta do Claude pode ajudar o Claude a permanecer no personagem ao longo de uma longa conversa. Ao lembrar consistentemente o Claude de seu papel na mensagem do Assistant, você pode garantir melhor que o Claude mantenha a persona desejada. Confira manter o Claude no personagem para mais detalhes.

Como preencher a resposta do Claude

Para preencher a resposta do Claude, basta incluir o texto inicial desejado na mensagem do Assistant ao fazer uma solicitação à API. Aqui está um exemplo de prompt:

FunçãoBom Prompt
UserPor favor, extraia o nome, tamanho, preço e cor desta descrição do produto e gere dentro de um objeto JSON.

<description>O SmartHome Mini é um assistente doméstico inteligente compacto disponível em preto ou branco por apenas $49,99. Com apenas 5 polegadas de largura, ele permite controlar luzes, termostatos e outros dispositivos conectados por voz ou aplicativo, não importa onde você o coloque em sua casa. Este pequeno hub acessível traz controle conveniente e sem o uso das mãos para seus dispositivos inteligentes.</description>
Assistant (prefill){

Neste exemplo, ao iniciar a mensagem do Assistant com {, restringimos a saída do Claude a ser o restante do esquema JSON solicitado.

FunçãoResposta
Assistant (resposta do Claude)“name”: “SmartHome Mini”,
“size”: “5 polegadas de largura”,
“price”: “$49.99”,
“colors”: [
“preto”,
“branco”
]
}

Veja como o prompt acima seria escrito em código no formato da API de Mensagens:

Python
import anthropic

client = anthropic.Anthropic(
    # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-2.1",
    max_tokens=1000,
    temperature=0,
    messages=[
        {
            "role": "user",
            "content": "Por favor, extraia o nome, tamanho, preço e cor desta descrição do produto e gere dentro de um objeto JSON.\n\n<description>O SmartHome Mini é um assistente doméstico inteligente compacto disponível em preto ou branco por apenas $49,99. Com apenas 5 polegadas de largura, ele permite controlar luzes, termostatos e outros dispositivos conectados por voz ou aplicativo, não importa onde você o coloque em sua casa. Este pequeno hub acessível traz controle conveniente e sem o uso das mãos para seus dispositivos inteligentes.\n</description>"
        }
        {
            "role": "assistant",
            "content": "{"
        }
    ]
)
print(message.content)

Recursos adicionais

  • Técnicas de engenharia de prompts: Explore outras estratégias para otimizar seus prompts e aprimorar o desempenho do Claude.
  • Anthropic cookbook: Navegue por uma coleção de notebooks Jupyter com trechos de código copiáveis que demonstram técnicas altamente eficazes e avançadas, integrações e implementações usando o Claude.
  • Biblioteca de prompts: Inspire-se com uma seleção criteriosa de prompts para várias tarefas e casos de uso.