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 Text Completions de Anthropic Claude
En esta sección se proporcionan parámetros de inferencia y ejemplos de código para utilizar los modelos de Anthropic Claude con la API de Text Completions.
Descripción general de la API de Text Completions de Anthropic Claude
Use la API de Text Completion para generar texto en un solo turno a partir de una petición proporcionada por el usuario. Por ejemplo, puede usar la API de Text Completion 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 modelos de Anthropic Claude, consulte Introduction to prompt design. Si desea utilizar las peticiones de Text Completions existentes con las API de Messages de Anthropic Claude, consulte Migrando desde Completaciones de Texto.
Modelos compatibles
Puede usar la API de Text Completions con los siguientes modelos de 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, consulta https://docs.anthropic.com/claude/reference/complete_post en la documentación. Anthropic Claude
- Request
-
Anthropic Claude tiene los siguientes parámetros de inferencia para realizar una llamada de inferencia de Text Completion.
{
"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) es la petición que desea que complete Claude. Para generar una respuesta adecuada, debe formatear la petición alternando los turnos conversacionales \n\nHuman:
y \n\nAssistant:
. Por ejemplo:
"\n\nHuman: {userQuestion}\n\nAssistant:"
Para obtener más información, consulte Validación de prompts en la documentación de Anthropic Claude.
-
max_tokens_to_sample: (obligatorio) número máximo de tokens a generar antes de realizar paradas. Recomendamos un límite de 4000 tokens para un rendimiento óptimo.
Tenga en cuenta que es posible que los modelos Anthropic Claude dejen de generar tokens antes de alcanzar el valor de max_tokens_to_sample
. Los distintos modelos de Anthropic Claude tienen valores máximos diferentes para este parámetro. Para obtener más información, consulte la comparativa de modelos proporcionada en la documentación de Anthropic Claude.
Predeterminado/a |
Mínimo |
Máximo |
200
|
0
|
4096
|
Los siguientes son parámetros opcionales.
-
stop_sequence: (opcional) secuencias que harán que el modelo deje de generar.
Los modelos de Anthropic Claude se detienen en "\n\nHuman:"
y es posible que en el futuro incluyan secuencias de parada adicionales. Utilice el parámetro de inferencia stop_sequences
para incluir cadenas adicionales que indiquen al modelo que deje de generar texto.
-
temperature: (opcional) la cantidad de asignación al azar 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/a |
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 cuando alcanza una probabilidad determinada especificada por top_p
. Debe modificar temperature
o top_p
, pero no ambos.
Predeterminado/a |
Mínimo |
Máximo |
1
|
0
|
1
|
-
top_k: (opcional) solo una muestra de las opciones K superior para cada token subsiguiente.
Use top_k
para eliminar las respuestas de baja probabilidad de cola larga.
Predeterminado/a |
Mínimo |
Máximo |
250
|
0
|
500
|
- Response
-
El modelo Anthropic Claude devuelve los siguientes campos para realizar una llamada de inferencia de Text Completion.
{
"completion": string,
"stop_reason": string,
"stop": string
}
-
completion: la finalización resultante hasta y excluyendo las secuencias de parada.
-
stop_reason: motivo por el que el modelo ha dejado de generar la respuesta.
-
“stop_sequence”: el modelo ha alcanzado una secuencia de parada, ya sea proporcionada por usted con el parámetro de inferencia stop_sequences
o una secuencia de parada integrada en el modelo.
-
“max_tokens”: el modelo ha superado max_tokens_to_sample
o el número máximo de tokens del modelo.
-
stop: si especifica el parámetro de inferencia de stop_sequences
, stop
contiene la secuencia de parada que ha indicado al modelo que deje 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 especifica stop_sequences
, el valor de stop
estará vacío.
Ejemplo de código
En estos ejemplos se muestra cómo llamar al modelo Anthropic Claude V2 con un rendimiento bajo demanda. Para usar la versión 2.1 de Anthropic Claude, cambie el valor de modelId
a anthropic.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 línea de comandos write an essay for living on mars in 1000
words
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()))