

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á.

# Modelos da AI21 Labs
<a name="model-parameters-ai21"></a>

Esta seção descreve os parâmetros de solicitação e os campos de resposta dos modelos da AI21 Labs. Use essas informações para fazer chamadas de inferência a modelos da AI21 Labs com as operações [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) e [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) (streaming). Esta seção também inclui exemplos de código do Python que mostram como chamar modelos da AI21 Labs. Para usar um modelo em uma operação de inferência, o ID do modelo é necessário. Para obter o ID do modelo, consulte [Modelos de base compatíveis no Amazon Bedrock](models-supported.md). Alguns modelos também funcionam com a [API Converse](conversation-inference.md). Para verificar se a API Converse pode ser usada em um modelo da AI21 Labs específico, consulte [Modelos compatíveis e recursos do modelo](conversation-inference-supported-models-features.md). Para obter mais exemplos de código, consulte [Exemplos de código para o Amazon Bedrock usando AWS SDKs](service_code_examples.md).

Os modelos de base no Amazon Bedrock são compatíveis com as modalidades de entrada e saída, que variam de modelo para modelo. Para verificar as modalidades compatíveis com os modelos da AI21 Labs, consulte [Modelos de base compatíveis no Amazon Bedrock](models-supported.md). Para verificar quais recursos do Amazon Bedrock são compatíveis com os modelos da AI21 Labs, consulte [Modelos de base compatíveis no Amazon Bedrock](models-supported.md). Para verificar em quais regiões da AWS esses modelos da AI21 Labs estão disponíveis, consulte [Modelos de base compatíveis no Amazon Bedrock](models-supported.md).

Ao fazer chamadas de inferência com modelos da AI21 Labs, inclua um prompt no modelo. Para obter informações gerais sobre como criar prompts para os modelos compatíveis com o Amazon Bedrock, consulte [Conceitos de engenharia de prompts](prompt-engineering-guidelines.md). Para obter informações de prompts específicos da AI21 Labs, consulte o [AI21 Labs prompt engineering guide](https://docs.ai21.com/docs/prompt-engineering).

**Topics**
+ [Modelos Jurassic-2 da AI21 Labs](model-parameters-jurassic2.md)
+ [Modelos Jamba da AI21 Labs](model-parameters-jamba.md)

# Modelos Jurassic-2 da AI21 Labs
<a name="model-parameters-jurassic2"></a>

Esta seção fornece os parâmetros de inferência e um exemplo de código para usar os modelos AI21 Labs Jurassic-2 da AI21 Labs.

**Topics**
+ [Parâmetros de inferência](#model-parameters-jurassic2-request-response)
+ [Exemplo de código](#api-inference-examples-a2i-jurassic)

## Parâmetros de inferência
<a name="model-parameters-jurassic2-request-response"></a>

Os modelos Jurassic-2 da AI21 Labs são compatíveis com os parâmetros de inferência a seguir.

**Topics**
+ [Randomização e diversidade](#model-parameters-jurassic2-random)
+ [Tamanho](#model-parameters-jurassic2-length)
+ [Repetições](#model-parameters-jurassic2-reps)
+ [Campo do corpo da solicitação de invocação do modelo](#model-parameters-jurassic2-request-body)
+ [Campo do corpo da resposta de invocação do modelo](#model-parameters-jurassic2-response-body)

### Randomização e diversidade
<a name="model-parameters-jurassic2-random"></a>

Os modelos Jurassic-2 da AI21 Labs são compatíveis com os parâmetros a seguir para controlar a randomização e a diversidade na resposta.
+ **Temperature** (`temperature`): use um valor menor para reduzir a randomização na resposta.
+ **Top P** (`topP`): use um valor menor para ignorar opções menos prováveis.

### Tamanho
<a name="model-parameters-jurassic2-length"></a>

Os modelos Jurassic-2 da AI21 Labs são compatíveis com os parâmetros a seguir para controlar o tamanho da resposta gerada.
+ **Duração máximo de conclusão** (`maxTokens`): especifique o número máximo de tokens a serem usados na resposta gerada.
+ **Sequências de parada** (`stopSequences`): configure as sequências de parada que o modelo reconhece e após as quais ele para de gerar mais tokens. Pressione a tecla Enter para inserir um caractere de nova linha em uma sequência de parada. Use a tecla Tab para finalizar a inserção de uma sequência de parada.

### Repetições
<a name="model-parameters-jurassic2-reps"></a>

Os modelos Jurassic-2 da AI21 Labs são compatíveis com os parâmetros a seguir para controlar a repetição na resposta gerada.
+ **Penalidade de presença** (`presencePenalty`): use um valor maior para reduzir a probabilidade de gerar novos tokens que já apareçam pelo menos uma vez no prompt ou na conclusão.
+ **Penalidade de contagem** (`countPenalty`): use um valor maior para diminuir a probabilidade de gerar novos tokens que já aparecem pelo menos uma vez no prompt ou na conclusão. Proporcional ao número de aparições.
+ **Penalidade de frequência** (`frequencyPenalty`): use um valor alto para diminuir a probabilidade de gerar novos tokens que já apareçam pelo menos uma vez no prompt ou na conclusão. O valor é proporcional à frequência das aparições do token (normalizado para o tamanho do texto).
+ **Penalize tokens especiais**: reduza a probabilidade de repetição de caracteres especiais. Os valores padrão são `true`.
  + **Espaços em branco** (`applyToWhitespaces`): um valor `true` aplica a penalidade a espaços em branco e novas linhas.
  + **Pontuações** (`applyToPunctuation`): um valor `true` aplica a penalidade à pontuação.
  + **Números** (`applyToNumbers`): um valor `true` aplica a penalidade aos números.
  + **Palavras de interrupção** (`applyToStopwords`): um valor `true` aplica a penalidade às palavras de interrupção.
  + **Emojis** (`applyToEmojis`): um valor `true` exclui emojis da penalidade.

### Campo do corpo da solicitação de invocação do modelo
<a name="model-parameters-jurassic2-request-body"></a>

Ao fazer uma chamada [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) usando um modelo da AI21 Labs, preencha o campo `body` com um objeto JSON que esteja em conformidade com o modelo a seguir. Insira o prompt no campo `prompt`.

```
{
    "prompt": string,
    "temperature": float,
    "topP": float,
    "maxTokens": int,
    "stopSequences": [string],
    "countPenalty": {
        "scale": float
    },
    "presencePenalty": {
        "scale": float
    },
    "frequencyPenalty": {
        "scale": float
    }
}
```

Para penalizar tokens especiais, adicione esses campos a qualquer um dos objetos de penalidade. Por exemplo, você pode modificar o campo `countPenalty` da seguinte maneira.

```
"countPenalty": {
    "scale": float,
    "applyToWhitespaces": boolean,
    "applyToPunctuations": boolean,
    "applyToNumbers": boolean,
    "applyToStopwords": boolean,
    "applyToEmojis": boolean
}
```

A tabela a seguir mostra os valores mínimo, máximo e padrão para os parâmetros numéricos.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/model-parameters-jurassic2.html)

### Campo do corpo da resposta de invocação do modelo
<a name="model-parameters-jurassic2-response-body"></a>

Para obter informações sobre o formato do campo `body` na resposta, consulte [https://docs.ai21.com/reference/j2-complete-api-ref](https://docs.ai21.com/reference/j2-complete-api-ref).

**nota**  
O Amazon Bedrock retorna o identificador de resposta (`id`) como um valor inteiro.

## Exemplo de código
<a name="api-inference-examples-a2i-jurassic"></a>

Este exemplo mostra como chamar o modelo *A2I Jurassic-2 Mid da AI21 Labs*.

```
import boto3
import json

brt = boto3.client(service_name='bedrock-runtime')

body = json.dumps({
    "prompt": "Translate to spanish: 'Amazon Bedrock is the easiest way to build and scale generative AI applications with base models (FMs)'.", 
    "maxTokens": 200,
    "temperature": 0.5,
    "topP": 0.5
})

modelId = 'ai21.j2-mid-v1'
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('completions')[0].get('data').get('text'))
```

# Modelos Jamba da AI21 Labs
<a name="model-parameters-jamba"></a>

Esta seção fornece os parâmetros de inferência e um exemplo de código para usar os modelos Jamba da AI21 Labs.

**Topics**
+ [Campos obrigatórios](#model-parameters-jamba-required-fields)
+ [Parâmetros de inferência](#model-parameters-jamba-request-response)
+ [Campo do corpo da solicitação de invocação do modelo](#model-parameters-jamba-request-body)
+ [Campo do corpo da resposta de invocação do modelo](#model-parameters-jamba-response-body)
+ [Exemplo de código](#api-inference-examples-a2i-jamba)
+ [Exemplo de código do Jamba 1.5 Large](#api-inference-examples-a2i-jamba15-large)

## Campos obrigatórios
<a name="model-parameters-jamba-required-fields"></a>

Os modelos Jamba da AI21 Labs são compatíveis com os seguintes campos obrigatórios:
+ **Mensagens** (`messages`): as mensagens anteriores neste chat, da mais antiga (índice 0) à mais recente. Deve haver pelo menos uma mensagem de usuário ou de assistente na lista. Inclua as entradas do usuário e as respostas do sistema. O tamanho total máximo da lista é de cerca de 256K tokens. Cada mensagem inclui os seguintes membros:
+ **Perfil** (`role`): o perfil do autor da mensagem. Um dos seguintes valores:
  + **Usuário** (`user`): entrada fornecida pelo usuário. Quaisquer instruções fornecidas aqui que entrem em conflito com as instruções fornecidas no prompt do `system` têm precedência sobre as instruções do prompt do `system`.
  + **Assistente** (`assistant`): resposta gerada pelo modelo.
  + **Sistema** (`system`): instruções iniciais fornecidas ao sistema para oferecer orientação geral sobre o tom e a voz da mensagem gerada. Uma mensagem inicial do sistema é opcional, mas é recomendada para fornecer orientação sobre o tom do chat. Por exemplo, “Você é um chatbot útil com formação em ciências da terra e um charmoso sotaque francês”.
+ **Conteúdo** (`content`): o conteúdo da mensagem.

## Parâmetros de inferência
<a name="model-parameters-jamba-request-response"></a>

Os modelos Jamba da AI21 Labs são compatíveis com os parâmetros de inferência a seguir.

**Topics**
+ [Aleatoriedade e diversidade](#model-parameters-jamba-random)
+ [Tamanho](#model-parameters-jamba-length)
+ [Repetições](#model-parameters-jamba-reps)

### Aleatoriedade e diversidade
<a name="model-parameters-jamba-random"></a>

Os modelos Jamba da AI21 Labs são compatíveis com os parâmetros a seguir para controlar a aleatoriedade e a diversidade na resposta.
+ **Temperatura** (`temperature`): quanto de variação deve ser fornecido em cada resposta. A definição desse valor como 0 garante sempre a mesma resposta à mesma pergunta. A definição de um valor mais alto incentiva mais variações. Modifica a distribuição na qual os tokens são amostrados. Padrão: 1.0, Intervalo: de 0.0 a 2.0
+ **Top P** (`top_p`): limite o grupo de próximos tokens em cada etapa ao percentil N superior dos tokens possíveis, em que 1.0 significa o grupo de todos os tokens possíveis e 0.01 significa o grupo somente dos próximos tokens mais prováveis.

### Tamanho
<a name="model-parameters-jamba-length"></a>

Os modelos Jamba da AI21 Labs são compatíveis com os parâmetros a seguir para controlar o tamanho da resposta gerada.
+ **Tamanho máximo de conclusão** (`max_tokens`): o número máximo de tokens permitidos para cada mensagem de resposta gerada. Normalmente, a melhor maneira de limitar o tamanho da saída é o fornecimento de um limite de tamanho no prompt do sistema (por exemplo, “limite suas respostas a três frases”). Padrão: 4096, Intervalo: de 0 a 4096.
+ **Sequências de parada** (`stop`): encerre a mensagem quando o modelo gerar uma dessas sequências de caracteres. A sequência de parada não está incluída na mensagem gerada. Cada sequência pode ter até 64K de comprimento e conter novas linhas como caracteres \$1n. 

  Exemplos:
  + String de parada única com uma palavra e um ponto final: “macacos”.
  + Várias strings de parada e uma nova linha: [“gato”, “cachorro”, “ . ”, “\$1\$1\$1\$1”, “\$1n”]
+ **Número de respostas** (`n`): quantas respostas de chat devem ser geradas. As observações n devem ser 1 para respostas de streaming. Se n for definido como maior que 1, a configuração de `temperature=0` sempre falhará porque é garantido que todas as respostas sejam duplicadas. Padrão: 1, Intervalo: de 1 a 16

### Repetições
<a name="model-parameters-jamba-reps"></a>

Os modelos Jamba da AI21 Labs são compatíveis com os parâmetros a seguir para controlar repetição na resposta gerada.
+ **Penalidade de frequência** (`frequency_penalty`): reduza a frequência de palavras repetidas em uma única mensagem de resposta aumentando esse número. Essa penalidade aumenta gradualmente quanto mais vezes uma palavra aparece durante a geração da resposta. A definição como 2.0 produzirá uma string com poucas ou nenhuma palavra repetida. 
+ **Penalidade de presença** (`presence_penalty`): reduza a frequência de palavras repetidas em uma única mensagem aumentando esse número. Ao contrário da penalidade de frequência, a penalidade de presença é a mesma, não importa quantas vezes uma palavra apareça. 

## Campo do corpo da solicitação de invocação do modelo
<a name="model-parameters-jamba-request-body"></a>

Ao fazer uma chamada [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) usando um modelo da AI21 Labs, preencha o campo `body` com um objeto JSON que esteja em conformidade com o modelo a seguir. Insira o prompt no campo `prompt`.

```
{
  "messages": [
    {
      "role":"system", // Non-printing contextual information for the model
      "content":"You are a helpful history teacher. You are kind and you respond with helpful content in a professional manner. Limit your answers to three sentences. Your listener is a high school student."
    },
    {
      "role":"user", // The question we want answered.
      "content":"Who was the first emperor of rome?"
    }
  ],
  "n":1 // Limit response to one answer
}
```

## Campo do corpo da resposta de invocação do modelo
<a name="model-parameters-jamba-response-body"></a>

Para obter informações sobre o formato do campo `body` na resposta, consulte [https://docs.ai21.com/reference/jamba-instruct-api\$1response-details](https://docs.ai21.com/reference/jamba-instruct-api#response-details).

## Exemplo de código
<a name="api-inference-examples-a2i-jamba"></a>

Este exemplo mostra como chamar o modelo *Jamba-Instruct da AI21 Labs*.

**`invoke_model`**

```
import boto3 
import json

bedrock = session.client('bedrock-runtime', 'us-east-1') 
response = bedrock.invoke_model( 
        modelId='ai21.jamba-instruct-v1:0', 
        body=json.dumps({
            'messages': [ 
                { 
                    'role': 'user', 
                    'content': 'which llm are you?' 
                } 
             ], 
         }) 
       ) 

print(json.dumps(json.loads(response['body']), indent=4))
```

**converse**

```
import boto3 
import json

bedrock = session.client('bedrock-runtime', 'us-east-1')
response = bedrock.converse( 
    modelId='ai21.jamba-instruct-v1:0', 
    messages=[ 
        { 
            'role': 'user', 
            'content': [ 
                { 
                    'text': 'which llm are you?' 
                } 
             ] 
          } 
     ] 
  ) 

print(json.dumps(json.loads(response['body']), indent=4))
```

## Exemplo de código do Jamba 1.5 Large
<a name="api-inference-examples-a2i-jamba15-large"></a>

Este exemplo mostra como chamar o modelo *Jamba 1.5 Large da AI21 Labs*.

**`invoke_model`**

```
POST https://bedrock-runtime.us-east-1.amazonaws.com/model/ai21.jamba-1-5-mini-v1:0/invoke-model HTTP/1.1
{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful chatbot with a background in earth sciences and a charming French accent."
    },
    {
      "role": "user",
      "content": "What are the main causes of earthquakes?"
    }
  ],
  "max_tokens": 512,
  "temperature": 0.7,
  "top_p": 0.9,
  "stop": ["###"],
  "n": 1
}
```