Entradas y salidas
El cambio más grande entre Text Completions y Messages es la forma en que especificas las entradas del modelo y recibes las salidas del modelo. Con Text Completions, las entradas son cadenas de texto sin procesar:Python
role
y content
.
Nombres de rolesLa API de Text Completions espera turnos alternados de
\n\nHuman:
y \n\nAssistant:
, pero la API de Messages espera roles user
y assistant
. Puedes ver documentación que se refiere a turnos “human” o “user”. Estos se refieren al mismo rol, y será “user” en adelante.completion
de la respuesta:
Python
content
, que es una lista de bloques de contenido:
Python
Poniendo palabras en la boca de Claude
Con Text Completions, puedes pre-llenar parte de la respuesta de Claude:Python
assistant
:
Python
content
de la respuesta continuará desde el content
del último mensaje de entrada:
JSON
Prompt del sistema
Con Text Completions, el prompt del sistema se especifica agregando texto antes del primer turno\n\nHuman:
:
Python
system
:
Python
Nombres de modelos
La API de Messages requiere que especifiques la versión completa del modelo (por ejemplo,claude-sonnet-4-20250514
).
Anteriormente soportábamos especificar solo el número de versión principal (por ejemplo, claude-2
), lo que resultaba en actualizaciones automáticas a versiones menores. Sin embargo, ya no recomendamos este patrón de integración, y Messages no lo soporta.
Razón de parada
Text Completions siempre tienen unstop_reason
de:
"stop_sequence"
: El modelo terminó su turno naturalmente, o una de tus secuencias de parada personalizadas fue generada."max_tokens"
: El modelo generó tumax_tokens
especificado de contenido, o alcanzó su máximo absoluto.
stop_reason
de uno de los siguientes valores:
"end_turn"
: El turno conversacional terminó naturalmente."stop_sequence"
: Una de tus secuencias de parada personalizadas especificadas fue generada."max_tokens"
: (sin cambios)
Especificando tokens máximos
- Text Completions: parámetro
max_tokens_to_sample
. Sin validación, pero valores limitados por modelo. - Messages: parámetro
max_tokens
. Si pasas un valor mayor al que el modelo soporta, devuelve un error de validación.
Formato de streaming
Al usar"stream": true
con Text Completions, la respuesta incluía cualquiera de los eventos enviados por el servidor completion
, ping
, y error
. Ver Text Completions streaming para detalles.
Messages pueden contener múltiples bloques de contenido de tipos variados, y por lo tanto su formato de streaming es algo más complejo. Ver Messages streaming para detalles.