

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# API Text Completions do Claude da Anthropic
<a name="model-parameters-anthropic-claude-text-completion"></a>

Esta seção fornece parâmetros de inferência e exemplos de código para usar os modelos Claude da Anthropic com a API Text Completions.

**Topics**
+ [Visão geral da API Text Completions do Claude da Anthropic](#model-parameters-anthropic-claude-text-completion-overview)
+ [Modelos compatíveis](#claude-messages-supported-models)
+ [Solicitação e reposta](#model-parameters-anthropic-claude-text-completion-request-response)
+ [Exemplo de código](#api-inference-examples-claude-text-completion)

## Visão geral da API Text Completions do Claude da Anthropic
<a name="model-parameters-anthropic-claude-text-completion-overview"></a>

Use a API Text Completion para gerar texto de um único turno em um prompt fornecido pelo usuário. Por exemplo, é possível usar a API Text Completion para gerar texto para uma publicação de blog ou para resumir a entrada de texto de um usuário.

Para obter informações sobre a criação de prompts para modelos Claude da Anthropic, consulte [Introduction to prompt design](https://docs.anthropic.com/claude/docs/introduction-to-prompt-design). Se quiser usar os prompts de Text Completions existentes com o [API Messages do Claude da Anthropic](model-parameters-anthropic-claude-messages.md), consulte [Migrating from Text Completions](https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages).

## Modelos compatíveis
<a name="claude-messages-supported-models"></a>

É possível usar a API Text Completions com os modelos Claude da Anthropic a seguir.
+ Claude Instant v1.2 da Anthropic
+ Claude v2 da Anthropic
+ Claude v2.1 da Anthropic 

## Solicitação e reposta
<a name="model-parameters-anthropic-claude-text-completion-request-response"></a>

O corpo da solicitação é enviado no campo `body` de uma solicitação para [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) ou [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html). 

Para obter mais informações, consulte [https://docs.anthropic.com/claude/reference/complete\$1post](https://docs.anthropic.com/claude/reference/complete_post) na documentação do Claude da Anthropic.

------
#### [ Request ]

O Claude da Anthropic tem os parâmetros de inferência a seguir para uma chamada de inferência 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]
}
```

Veja a seguir os parâmetros necessários.
+  **prompt**: (obrigatório) o prompt que você deseja que o Claude conclua. Para gerar uma resposta adequada, formate o prompt usando a alternância de turnos de conversas `\n\nHuman:` e `\n\nAssistant:`. Por exemplo:

  ```
  "\n\nHuman: {userQuestion}\n\nAssistant:"
  ```

  Para obter mais informações, consulte [Prompt validation](https://docs.anthropic.com/claude/reference/prompt-validation) na documentação do Claude da Anthropic. 
+  **max\$1tokens\$1to\$1sample**: (obrigatório) o número máximo de tokens a serem gerados antes de parar. É recomendável um limite de 4 mil tokens para uma performance ideal.

  Observe que os modelos Claude da Anthropic podem parar de gerar tokens antes de atingir o valor de `max_tokens_to_sample`. Modelos diferentes do Claude da Anthropic têm valores máximos diferentes para esse parâmetro. Para obter mais informações, consulte [Model comparison](https://docs.anthropic.com/claude/docs/models-overview#model-comparison) fornecido na documentação do Claude da Anthropic.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

Veja a seguir os parâmetros opcionais.
+  **stop\$1sequences**: (opcional) sequências que farão com que o modelo pare de gerar.

  Os modelos Claude da Anthropic param em `"\n\nHuman:"` e podem incluir sequências de parada integradas adicionais no futuro. Use o parâmetro de inferência `stop_sequences` para incluir strings adicionais que sinalizarão ao modelo para parar de gerar texto.
+  **temperature**: (opcional) a aleatoriedade injetada na resposta. Use um valor mais próximo de 0 para a opção de análise/múltipla escolha e um valor mais próximo de 1 para tarefas criativas e generativas.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1p**: (opcional) use amostragem de núcleo.

  Na amostragem de núcleo, o Claude da Anthropic calcula a distribuição cumulativa de todas as opções de cada token subsequente em ordem de probabilidade decrescente e a interrompe quando atinge uma determinada probabilidade especificada por `top_p`. Você deve alterar `temperature` ou `top_p`, mas não ambos.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1k**: (opcional) somente um exemplo das opções K principais para cada token subsequente.

  Use `top_k` para remover respostas de baixa probabilidade de cauda longa.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

------
#### [ Response ]

O modelo Claude da Anthropic retorna os campos a seguir para chamadas de inferência de Text Completion. 

```
{
    "completion": string,
    "stop_reason": string,
    "stop": string
}
```
+ **completion**: o preenchimento resultante até as sequências de parada, mas excluindo-as.
+ **stop\$1reason**: o motivo pelo qual o modelo parou de gerar a resposta.
  + **“stop\$1sequence”**: o modelo atingiu uma sequência de parada: fornecida com o parâmetro de inferência `stop_sequences` ou com uma sequência de parada incorporada ao modelo.
  + **“max\$1tokens”**: o modelo excedeu `max_tokens_to_sample` ou o número máximo de tokens do modelo. 
+ **stop**: se você especificar o parâmetro de inferência `stop_sequences`, `stop` conterá a sequência de parada que sinalizou ao modelo para parar de gerar texto. Por exemplo, `holes` na resposta a seguir.

  ```
  {
      "completion": " Here is a simple explanation of black ",
      "stop_reason": "stop_sequence",
      "stop": "holes"
  }
  ```

  Se você não especificar `stop_sequences`, o valor `stop` estará vazio.

------

## Exemplo de código
<a name="api-inference-examples-claude-text-completion"></a>

Esses exemplos mostram como chamar o modelo *Claude V2 da Anthropic* com throughput sob demanda. Para usar o Claude versão 2.1 da Anthropic, altere o valor de `modelId` para `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'))
```

O seguinte exemplo mostra como gerar texto de streaming com o Python usando o prompt *escreva uma dissertação sobre viver em Marte usando mil palavras* e o modelo Claude V2 da Anthropic:

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