

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
<a name="model-parameters-anthropic-claude-text-completion"></a>

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.

**Topics**
+ [Descripción general de la API de Text Completions de Anthropic Claude](#model-parameters-anthropic-claude-text-completion-overview)
+ [Modelos compatibles](#claude-messages-supported-models)
+ [Solicitud y respuesta](#model-parameters-anthropic-claude-text-completion-request-response)
+ [Ejemplo de código](#api-inference-examples-claude-text-completion)

## Descripción general de la API de Text Completions de Anthropic Claude
<a name="model-parameters-anthropic-claude-text-completion-overview"></a>

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](https://docs.anthropic.com/claude/docs/introduction-to-prompt-design). Si desea utilizar las peticiones de Text Completions existentes con las [API de Messages de Anthropic Claude](model-parameters-anthropic-claude-messages.md), consulte [Migrando desde Completaciones de Texto](https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages).

## Modelos compatibles
<a name="claude-messages-supported-models"></a>

Puede usar la API de Text Completions con los siguientes modelos de Anthropic Claude.
+ Anthropic Claude Instant v1.2
+ Anthropic Claude v2
+ Anthropic Claude v2.1 

## Solicitud y respuesta
<a name="model-parameters-anthropic-claude-text-completion-request-response"></a>

El cuerpo de la solicitud se pasa en el campo `body` de una solicitud a [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) o [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html). 

Para obtener más información, consulte [https://docs.anthropic.com/claude/reference/complete\$1post](https://docs.anthropic.com/claude/reference/complete_post) en la documentación de 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](https://docs.anthropic.com/claude/reference/prompt-validation) en la documentación de Anthropic Claude. 
+  **max\$1tokens\$1to\$1sample**: (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](https://docs.anthropic.com/claude/docs/models-overview#model-comparison) proporcionada en la documentación de Anthropic Claude.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

Los siguientes son parámetros opcionales.
+  **stop\$1sequence**: (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.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1p**: (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.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1k**: (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.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

------
#### [ 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\$1reason**: motivo por el que el modelo ha dejado de generar la respuesta.
  + **“stop\$1sequence”**: 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\$1tokens”**: 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
<a name="api-inference-examples-claude-text-completion"></a>

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 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()))
```