Echa un vistazo a nuestra publicación de blog Prompting de contexto largo para Claude 2.1 para ver un ejemplo de prellenado altamente efectivo.


¿Por qué prellenar la respuesta de Claude?

Prellenar la respuesta de Claude ofrece varios beneficios clave:

  1. Mayor capacidad de dirección: Al proporcionar algo de texto inicial para que Claude continúe, puedes dirigir la respuesta de Claude en la dirección deseada. Esto es particularmente útil cuando quieres que Claude se enfoque en un tema específico, genere un tipo particular de contenido o actúe de cierta manera.
  2. Controlar el formato de salida: El prellenado te permite especificar el formato exacto que deseas que Claude use para su salida. Esto es especialmente útil cuando se trabaja con formatos de datos estructurados como JSON o XML. Para más detalles sobre esto, consulta nuestra guía sobre controlar el formato de salida.
  3. Mantener la consistencia del personaje: En escenarios de juego de roles, prellenar la respuesta de Claude puede ayudar a Claude a mantenerse en su papel a lo largo de una conversación larga. Al recordarle constantemente a Claude su papel en el mensaje del Assistant, puedes asegurarte mejor de que Claude mantenga la personalidad deseada. Consulta mantener a Claude en su papel para más detalles.

Cómo prellenar la respuesta de Claude

Para prellenar la respuesta de Claude, simplemente incluye el texto inicial deseado en el mensaje del Assistant al realizar una solicitud a la API. Aquí hay un ejemplo de prompt:

RolBuen Prompt
UserPor favor, extrae el nombre, tamaño, precio y color de esta descripción de producto y muéstralo dentro de un objeto JSON.

<description>El SmartHome Mini es un asistente de hogar inteligente compacto disponible en negro o blanco por solo $49.99. Con solo 5 pulgadas de ancho, te permite controlar luces, termostatos y otros dispositivos conectados a través de voz o aplicación, sin importar dónde lo coloques en tu hogar. Este pequeño hub asequible brinda un conveniente control de manos libres a tus dispositivos inteligentes.</description>
Assistant (prefill){

En este ejemplo, al comenzar el mensaje del Assistant con {, restringimos la salida de Claude a ser el resto del esquema JSON solicitado.

RolRespuesta
Assistant (respuesta de Claude)“name”: “SmartHome Mini”,
“size”: “5 pulgadas de ancho”,
“price”: “$49.99”,
“colors”: [
“negro”,
“blanco”
]
}

Así es como se escribiría el prompt anterior en código en el formato de la API de Mensajes:

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, extrae el nombre, tamaño, precio y color de esta descripción de producto y muéstralo dentro de un objeto JSON.\n\n<description>El SmartHome Mini es un asistente de hogar inteligente compacto disponible en negro o blanco por solo $49.99. Con solo 5 pulgadas de ancho, te permite controlar luces, termostatos y otros dispositivos conectados a través de voz o aplicación, sin importar dónde lo coloques en tu hogar. Este pequeño hub asequible brinda un conveniente control de manos libres a tus dispositivos inteligentes.\n</description>"
        }
        {
            "role": "assistant",
            "content": "{"
        }
    ]
)
print(message.content)

Recursos adicionales

  • Técnicas de ingeniería de prompts: Explora otras estrategias para optimizar tus prompts y mejorar el rendimiento de Claude.
  • Anthropic cookbook: Explora una colección de cuadernos de Jupyter con fragmentos de código copiables que demuestran técnicas, integraciones e implementaciones altamente efectivas y avanzadas usando Claude.
  • Biblioteca de prompts: Inspírate con una selección curada de prompts para diversas tareas y casos de uso.