Interfaz nativa de conversación Messages
Cabeceras de solicitud de Claude Messages, diferencias entre system y messages, bloques de contenido y motivos de finalización.
Claude Code, el SDK de Anthropic y las aplicaciones que deseen conservar los bloques de contenido nativos de Claude utilizan POST https://1zheai.com/v1/messages. Introduzca https://1zheai.com en la URL base del SDK.
Solicitud mínima
Sección titulada “Solicitud mínima”Primero configure la variable de entorno de la clave de este sitio ONEZHE_API_KEY y luego ejecute:
curl --fail-with-body --connect-timeout 10 --max-time 120 \ https://1zheai.com/v1/messages \ -H "x-api-key: $ONEZHE_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-5-5", "max_tokens": 256, "system": "请用简短的中文回答。", "messages": [{"role": "user", "content": "什么是域名解析?"}] }'Estructura de la solicitud
Sección titulada “Estructura de la solicitud”| Campo | Tipo | Uso |
|---|---|---|
model | string | Obligatorio, selecciona el modelo Claude disponible para la clave |
max_tokens | integer | Obligatorio, límite de salida; configúrelo en combinación con las limitaciones del modelo seleccionado |
messages | array | Obligatorio, envía los mensajes user y assistant en orden cronológico |
system | string o array de bloques de contenido | Opcional, las instrucciones del sistema se colocan en el nivel superior, no se usa el mensaje role: system |
stream | boolean | Opcional, lee los incrementos de los bloques de contenido en streaming |
tools | array | Opcional, declara los nombres de las herramientas, su propósito y el esquema de entrada |
thinking, el control de caché y los parámetros beta dependen del modelo específico y del soporte del proveedor. Primero verifique el texto normal y luego añada lo que necesite; no trate todos los modelos como si tuvieran el mismo conjunto de parámetros.
Lectura de bloques de contenido
Sección titulada “Lectura de bloques de contenido”El content devuelto es un array y puede contener simultáneamente texto, solicitudes de herramientas u otros bloques de contenido. No lea content[0].text de forma incondicional. Por ejemplo, con el SDK de Python de Anthropic:
for block in message.content: if block.type == "text": print(block.text)Aquí message procede de client.messages.create(...) en el tutorial del SDK de Anthropic.
stop_reason | Cómo lo procesa la aplicación |
|---|---|
end_turn | La respuesta de esta ronda ha terminado |
max_tokens | La salida se ha truncado por el límite y no puede considerarse una respuesta completa |
tool_use | Compruebe las solicitudes de herramientas, ejecute las herramientas permitidas y devuelva los resultados |
| Otros valores | Conserve la respuesta y procesela según el protocolo del modelo seleccionado; no asuma que siempre es una finalización de texto |
En el bucle de llamadas a herramientas, primero añada el bloque de contenido completo del asistente al historial y luego devuélvalo mediante tool_result en el contenido del usuario; tool_use_id debe corresponder a la solicitud original. No convierta directamente una solicitud de herramienta en un texto normal.
Múltiples turnos y streaming
Sección titulada “Múltiples turnos y streaming”Cada vez que envíe, conserve el historial necesario; la interfaz no almacena la conversación por la aplicación. El streaming indica el fin del mensaje con message_stop; recibir una parte del texto no significa que la solicitud haya finalizado. Consulte salida en streaming.
Para los detalles del protocolo, consulte instrucciones de uso de Anthropic Messages. La disponibilidad de los parámetros extendidos de este sitio depende del catálogo de modelos y de la respuesta real.
