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.
AnthropicClaudeAPI de terminaciones de texto
En esta sección, se proporcionan parámetros de inferencia y ejemplos de código para usar Anthropic Claude modelos con la API Text Completions.
AnthropicClaudeDescripción general de la API Text Completions
Usa la API de finalización de textos para generar texto en un solo paso a partir de un mensaje proporcionado por el usuario. Por ejemplo, puedes usar la API de finalización de textos para generar texto para una entrada de blog o para resumir el texto introducido por un usuario.
Para obtener información sobre la creación de indicaciones para Anthropic Claude modelos, consulta Introducción al diseño de indicaciones. Si desea utilizar las instrucciones de finalización de texto existentes con lasAnthropicClaudeAPI de mensajes, consulte Migración desde terminaciones de texto.
Modelos compatibles
Puedes usar la API de terminaciones de texto con los siguientes modelos. Anthropic Claude
Solicitud y respuesta
El cuerpo de la solicitud se pasa en el body
campo de una solicitud a InvokeModelo InvokeModelWithResponseStream.
Para obtener más información, consulte https://docs.anthropic.com/claude/reference/complete_post en la Anthropic Claude documentación.
- Request
-
AnthropicClaudetiene los siguientes parámetros de inferencia para una llamada de inferencia de finalización de texto.
{
"prompt": "\n\nHuman:<prompt>
\n\nAssistant:",
"temperature": float,
"top_p": float,
"top_k": int,
"max_tokens_to_sample": int,
"stop_sequences": [string]
}
Los siguientes parámetros son obligatorios.
-
prompt: (obligatorio) El mensaje que desea que Claude complete. Para generar una respuesta adecuada, debe formatear el mensaje mediante turnos alternos \n\nHuman:
y \n\nAssistant:
conversacionales. Por ejemplo:
"\n\nHuman: {userQuestion}\n\nAssistant:"
Para obtener más información, consulte Validación rápida en la Anthropic Claude documentación.
-
max_tokens_to_sample: (obligatorio) la cantidad máxima de tokens que se deben generar antes de detenerse. Recomendamos un límite de 4000 tokens para un rendimiento óptimo.
Tenga en cuenta que Anthropic Claude los modelos pueden dejar de generar fichas antes de alcanzar el valor de. max_tokens_to_sample
AnthropicClaudeLos distintos modelos tienen valores máximos diferentes para este parámetro. Para obtener más información, consulte Comparación de modelos en la Anthropic Claude documentación.
Predeterminado |
Mínimo |
Máximo |
200
|
0
|
4096
|
Los siguientes son parámetros opcionales.
-
stop_sequence: secuencias (opcionales) que harán que el modelo deje de generarse.
AnthropicClaudelos modelos se "\n\nHuman:"
detienen y pueden incluir secuencias de parada adicionales integradas en el futuro. Utilice el parámetro de stop_sequences
inferencia para incluir cadenas adicionales que indiquen al modelo que deje de generar texto.
-
temperatura: (opcional) la cantidad de aleatoriedad que se inyecta en la respuesta. Utilice un valor más cercano a 0 para las tareas analíticas o de opción múltiple y un valor más cercano a 1 para las tareas creativas y generativas.
Predeterminado |
Mínimo |
Máximo |
1
|
0
|
1
|
-
top_p — (opcional) Utilice el muestreo de núcleos.
En el muestreo de núcleos, Anthropic Claude calcula la distribución acumulada entre todas las opciones de cada token subsiguiente en orden de probabilidad decreciente y la corta una vez que alcanza una probabilidad determinada especificada por. top_p
Debe modificar una de las dos temperature
top_p
, pero no las dos.
Predeterminado |
Mínimo |
Máximo |
1
|
0
|
1
|
-
top_k — (opcional) Muestra solo las K opciones principales para cada token subsiguiente.
Se usa top_k
para eliminar las respuestas de baja probabilidad de cola larga.
Predeterminado |
Mínimo |
Máximo |
250
|
0
|
500
|
- Response
-
El Anthropic Claude modelo devuelve los siguientes campos para una llamada de inferencia de finalización de texto.
{
"completion": string,
"stop_reason": string,
"stop": string
}
-
finalización: la finalización resultante hasta y excluyendo las secuencias de paradas.
-
stop_reason: el motivo por el que el modelo dejó de generar la respuesta.
-
«stop_sequence»: el modelo alcanzó una secuencia de parada, ya sea proporcionada por usted con el parámetro de stop_sequences
inferencia o una secuencia de paradas integrada en el modelo.
-
«max_tokens»: el modelo ha superado max_tokens_to_sample
o ha superado el número máximo de fichas del modelo.
-
stop: si especifica el parámetro de stop_sequences
inferencia, stop
contiene la secuencia de parada que indicó al modelo que dejara de generar texto. Por ejemplo, holes
en la siguiente respuesta.
{
"completion": " Here is a simple explanation of black ",
"stop_reason": "stop_sequence",
"stop": "holes"
}
Si no lo especificastop_sequences
, el valor de stop
está vacío.
Ejemplo de código
En estos ejemplos se muestra cómo llamar al modelo AnthropicClaudeV2 con un rendimiento bajo demanda. Para usar Anthropic Claude la versión 2.1, cambie el valor de modelId
aanthropic.claude-v2:1
.
import boto3
import json
brt = boto3.client(service_name='bedrock-runtime')
body = json.dumps({
"prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:",
"max_tokens_to_sample": 300,
"temperature": 0.1,
"top_p": 0.9,
})
modelId = 'anthropic.claude-v2'
accept = 'application/json'
contentType = 'application/json'
response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType)
response_body = json.loads(response.get('body').read())
# text
print(response_body.get('completion'))
El siguiente ejemplo muestra cómo generar texto en streaming con Python utilizando la petición escribir un ensayo para vivir en Marte de 1000 palabras
y el modelo Anthropic Claude V2:
import boto3
import json
brt = boto3.client(service_name='bedrock-runtime')
body = json.dumps({
'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:',
'max_tokens_to_sample': 4000
})
response = brt.invoke_model_with_response_stream(
modelId='anthropic.claude-v2',
body=body
)
stream = response.get('body')
if stream:
for event in stream:
chunk = event.get('chunk')
if chunk:
print(json.loads(chunk.get('bytes').decode()))