Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
API de Messages de Anthropic Claude
En esta sección se proporcionan parámetros de inferencia y ejemplos de código para utilizar la API de Messages de los modelos Anthropic Claude.
Temas
Descripción general de la API de Messages de Anthropic Claude
Puede usar la API de Messages para crear bots de chat o aplicaciones de asistente virtual. La API administra los intercambios conversacionales entre un usuario y un modelo de Anthropic Claude (asistente).
sugerencia
En este tema se muestra cómo utilizar la API de Anthropic Claude mensajes con las operaciones de inferencia base (InvokeModelo InvokeModelWithResponseStream). Sin embargo, te recomendamos que utilices la Converse API para implementar los mensajes en tu aplicación. La Converse API proporciona un conjunto unificado de parámetros que funcionan en todos los modelos que admiten mensajes. Para obtener más información, consulte Mantén una conversación con las operaciones de la Converse API.
Anthropic entrena los modelos de Claude para que funcionen en turnos de conversación alternos entre el usuario y el asistente. Al crear un mensaje nuevo, se especifican los turnos de conversación anteriores con el parámetro messages. A continuación, el modelo genera el siguiente mensaje de la conversación.
Cada mensaje de entrada debe ser un objeto con un rol y contenido. Puede especificar un único mensaje de rol de usuario o puede incluir varios mensajes de usuario y asistente.
Si utiliza la técnica de rellenar previamente la respuesta desde Claude (rellenando el principio de la respuesta de Claude con un mensaje final del rol de asistente), Claude responderá retomando la respuesta desde donde la dejó. Con esta técnica, Claude seguirá devolviendo una respuesta con el rol de asistente.
Si el mensaje final utiliza el rol de asistente, el contenido de la respuesta continuará inmediatamente con el contenido de ese mensaje. Puede usar esto para restringir parte de la respuesta del modelo.
Ejemplo con un solo mensaje de usuario:
[{"role": "user", "content": "Hello, Claude"}]
Ejemplo con varios turnos de conversación:
[ {"role": "user", "content": "Hello there."}, {"role": "assistant", "content": "Hi, I'm Claude. How can I help you?"}, {"role": "user", "content": "Can you explain LLMs in plain English?"}, ]
Ejemplo con una respuesta parcialmente completa de Claude:
[ {"role": "user", "content": "Please describe yourself using only JSON"}, {"role": "assistant", "content": "Here is my JSON description:\n{"}, ]
El contenido de cada mensaje de entrada puede ser una sola cadena o una matriz de bloques de contenido, donde cada bloque tiene un tipo específico. Una cadena es como la abreviatura de una matriz de un bloque de contenido del tipo “texto”. Los siguientes mensajes de entrada son equivalentes:
{"role": "user", "content": "Hello, Claude"}
{"role": "user", "content": [{"type": "text", "text": "Hello, Claude"}]}
Para obtener información sobre cómo crear peticiones para modelos de Anthropic Claude, consulte Descripción general de la ingeniería de prompts
importante
El tiempo de espera para las llamadas de inferencia a Claude 4 modelos Anthropic Claude 3.7 Sonnet y 4 es de 60 minutos. De forma predeterminada, los clientes AWS del SDK agotan el tiempo de espera después de 1 minuto. Le recomendamos que aumente el tiempo de espera de lectura de su cliente del AWS SDK a al menos 60 minutos. Por ejemplo, en el SDK botocore de AWS
Python, cambia el valor del read_timeout
campo de botocore.config
Peticiones del sistema
También puede incluir una petición del sistema en la solicitud. Una petición del sistema le permite proporcionar contexto e instrucciones a Anthropic Claude, por ejemplo, especificar un objetivo o rol en particular. Especifique una petición del sistema en el campo system
, tal como se muestra en el siguiente ejemplo.
"system": "You are Claude, an AI assistant created by Anthropic to be helpful, harmless, and honest. Your goal is to provide informative and substantive responses to queries while avoiding potential harms."
Para obtener más información, consulte Prompt de sistema
Peticiones multimodales
Una petición multimodal combina varias modalidades (imágenes y texto) en una sola petición. Las modalidades se especifican en el campo de entrada content
. El siguiente ejemplo muestra cómo puede solicitar a Anthropic Claude una descripción del contenido de una imagen proporcionada. Para ver el código de ejemplo, consulte Ejemplos de código multimodal.
{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [ { "role": "user", "content": [ { "type": "image", "source": { "type": "base64", "media_type": "image/jpeg", "data": "iVBORw..." } }, { "type": "text", "text": "What's in these images?" } ] } ] }
nota
Se aplican las siguientes restricciones al campo content
:
-
Puede incluir un máximo de 20 imágenes. El tamaño, la altura y la anchura de cada imagen no deben ser superiores a 3,75 MB, 8000 px y 8000 px, respectivamente.
-
Puede incluir hasta cinco documentos. El tamaño de cada documento no debe superar los 4,5 MB.
-
Solo puede incluir imágenes y documentos si el
role
esuser
.
Cada imagen que incluya en una solicitud se tendrá en cuenta para el uso de tokens. Para obtener más información, consulte Costos de imagen