

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 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 \\n. 

  Exemplos:
  + String de parada única com uma palavra e um ponto final: “macacos”.
  + Várias strings de parada e uma nova linha: [“gato”, “cachorro”, “ . ”, “\#\#\#\#”, “\\n”]
+ **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\#response-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
}
```