

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

# Introdução detalhada ao uso do console e da API
<a name="detailed-getting-started"></a>

Conteúdo disponível em breve.

# Comece a usar o console do Amazon Bedrock.
<a name="getting-started-console"></a>

Esta seção descreve como usar os [playgrounds](playgrounds.md) no AWS console para enviar uma solicitação de texto para um modelo da Amazon Bedrock Foundation (FM) e gerar uma resposta de texto ou imagem. Antes de executar os exemplos abaixo, verifique se os seguintes pré-requisitos foram atendidos:

**Pré-requisitos**
+ Você tem Conta da AWS e tem permissões para acessar uma função nessa conta com as permissões necessárias para o Amazon Bedrock. Caso contrário, siga as etapas em [Início rápido](getting-started.md).
+ Você está na região Leste dos EUA (N. da Virgínia) (us-east-1). Para alterar regiões, escolha o nome da região no canto superior direito do console, ao lado do perfil do IAM. Selecione Leste dos EUA (N. da Virgínia) (us-east-1).

**Topics**
+ [Explorar o playground de texto](#getting-started-text)
+ [Explorar o playground de imagens](#getting-started-image)

## Explorar o playground de texto
<a name="getting-started-text"></a>

O seguinte exemplo demonstra como usar o playground de texto:

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, escolha **Texto** em **Playgrounds**.

1. Escolha **Selecionar modelo** e selecione um provedor e um modelo. Neste exemplo, selecionaremos o **Amazon Titan Text G1 - Lite**. Escolha **Aplicar**

1. Selecione um prompt padrão na parte inferior do painel de texto ou insira um prompt no painel de texto, como **Describe the purpose of a "hello world" program in one line**.

1. Escolha **Executar** para executar a inferência no modelo. O texto gerado aparece na parte inferior do seu prompt no painel de texto.

## Explorar o playground de imagens
<a name="getting-started-image"></a>

O seguinte exemplo demonstra como usar o playground de imagens:

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, escolha **Imagem** em **Playgrounds**.

1. Escolha **Selecionar modelo** e selecione um provedor e um modelo. Neste exemplo, selecionaremos o **Amazon Titan Image Generator G1 V1**. Escolha **Aplicar**

1. Selecione um prompt padrão na parte inferior do painel de texto ou insira um prompt no painel de texto, como **Generate an image of happy cats**.

1. No painel **Configurações**, altere o **Número de imagens** para **1**.

1. Escolha **Executar** para executar a inferência no modelo. A imagem gerada aparece acima do prompt.

# Começar a usar a API
<a name="getting-started-api"></a>

Esta seção descreve como configurar seu ambiente para fazer solicitações do Amazon Bedrock por meio da AWS API. AWS oferece as seguintes ferramentas para agilizar sua experiência:
+ AWS Command Line Interface (AWS CLI)
+ AWS SDKs
+ Notebooks Amazon SageMaker AI

Para começar a usar a API, você precisa de credenciais para conceder acesso programático. Se as seções a seguir forem relevantes para você, expanda-as e siga as instruções. Caso contrário, continue pelas seções restantes.

## Eu sou novo em AWS
<a name="gs-api-new-to-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

## Preciso instalar o AWS CLI ou um AWS SDK
<a name="gs-api-cli-sdk-install"></a>

Para instalar o AWS CLI, siga as etapas em [Instalar ou atualizar para a versão mais recente do AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

Para instalar um AWS SDK, selecione a guia que corresponde à linguagem de programação que você deseja usar em [Tools to Build on AWS](https://aws.amazon.com/developer/tools/). AWS kits de desenvolvimento de software (SDKs) estão disponíveis para muitas linguagens de programação populares. Cada SDK fornece uma API, exemplos de código e documentação que facilitam aos desenvolvedores a criação de aplicativos em seu idioma preferido. SDKs executa automaticamente tarefas úteis para você, como:
+ Assinar de forma criptográfica as solicitações de serviço
+ Repetir solicitações
+ Lidar com respostas de erro

## Obter credenciais para conceder acesso programático
<a name="gs-grant-program-access"></a>

Os usuários precisam de acesso programático se quiserem interagir com pessoas AWS fora do Console de gerenciamento da AWS. AWS fornece várias opções, dependendo de suas preocupações de segurança.

**nota**  
Para obter um step-by-step guia para gerar uma chave de API que você pode usar para acessar rapidamente a API do Amazon Bedrock, consulte[Comece a usar as chaves de API do Amazon Bedrock: gere uma chave de trinta dias e faça sua primeira chamada de API](getting-started-api-keys.md).  
Se seus requisitos de segurança forem mais abrangentes, continue nesta seção.

A forma de conceder acesso programático depende do tipo de usuário que está acessando AWS.

Para conceder acesso programático aos usuários, selecione uma das seguintes opções:


****  

| Qual entidade principal precisa de acesso programático? | Para | Por | 
| --- | --- | --- | 
| usuários do IAM | Limite a duração das credenciais de longo prazo para assinar solicitações programáticas para o AWS CLI, AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/getting-started-api.html)  | 
| Perfis do IAM | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs | Siga as instruções em [Como usar credenciais temporárias com AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) no Guia do usuário do IAM. | 
|  Identidade da força de trabalho (Usuários gerenciados no Centro de Identidade do IAM)  | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/getting-started-api.html)  | 

## Como configurar chaves de acesso para um usuário do IAM
<a name="create-user-time-bound"></a>

Se você decidir usar chaves de acesso para um usuário do IAM, AWS recomenda definir uma expiração para o usuário do IAM incluindo uma política embutida restritiva.

**Importante**  
Tenha atenção aos seguintes avisos:  
**NÃO** use as credenciais raiz da sua conta para acessar AWS recursos. Estas credenciais fornecem acesso ilimitado à conta e são difíceis de revogar.
**NÃO** coloque chaves de acesso literais ou informações de credenciais em arquivos de aplicações. Se colocar, criará um risco de exposição acidental das credenciais se, por exemplo, fizer upload do projeto em um repositório público.
**NÃO** inclua arquivos que contenham credenciais em sua área de projeto.
Gerencie suas chaves de acesso com segurança. Não as forneça a terceiros não autorizados, mesmo que seja para ajudar a [localizar os identificadores da sua conta](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Ao fazer isso, você pode dar a alguém acesso permanente à conta.
Lembre-se de que todas as credenciais armazenadas no arquivo de AWS credenciais compartilhado são armazenadas em texto simples.

Para obter mais detalhes, consulte [Práticas recomendadas para gerenciar chaves de AWS acesso](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) no Referência geral da AWS.

**Criar um usuário do IAM**

1. Na página Console de gerenciamento da AWS inicial, selecione o serviço IAM ou navegue até o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Usuários** e escolha **Criar usuário**.

1. Siga as orientações no console do IAM para configurar um usuário programático (sem acesso ao Console de gerenciamento da AWS) e sem permissões.

**Restringir o acesso do usuário a uma janela de tempo limitado**

Todas as chaves de acesso do usuário do IAM que você criar serão credenciais de longo prazo. Para garantir que essas credenciais expirem caso sejam usadas incorretamente, você pode estabelecer um limite temporal para essas credenciais criando uma política em linha que especifica uma data após a qual as chaves não serão mais válidas.

1. Abra o usuário do IAM que você acabou de criar. Na guia **Permissões**, escolha **Adicionar permissões** e depois **Criar política em linha**.

1. No editor JSON, especifique as permissões a seguir. Para usar essa política, substitua o valor pelo valor do carimbo de data/hora `aws:CurrentTime` na política de exemplo pela sua própria data de término.
**nota**  
O IAM recomenda que você limite suas chaves de acesso a 12 horas.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
           "DateGreaterThan": {
             "aws:CurrentTime": "2024-01-01T00:00:000"
           }
         }
       }
     ]
   }
   ```

------

**Criar uma chave de acesso**

1. Na página **Detalhes do usuário**, selecione a guia **Credenciais de segurança**. Na seção **Chaves de acesso**, escolha **Criar chave de acesso**.

1. Indique que você planeja usar essas chaves de acesso como **Outro** e escolha **Criar chave de acesso**.

1. Na página **Recuperar chaves de acesso**, escolha **Exibir** para revelar o valor da chave de acesso secreta do usuário. Você pode copiar as credenciais ou baixar um arquivo .csv.

**Importante**  
Quando você não precisar mais desse usuário do IAM, recomendamos que você o remova e se alinhe às [melhores práticas de AWS segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials). Recomendamos que você exija que seus usuários humanos usem credenciais temporárias por meio [AWS do IAM Identity Center ao acessar](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html). AWS

## Anexar permissões do Amazon Bedrock a um usuário ou perfil
<a name="gs-api-br-permissions"></a>

Depois de configurar as credenciais para acesso programático, você precisa configurar permissões para que um usuário ou um perfil do IAM tenha acesso a um conjunto de ações relacionadas ao Amazon Bedrock. Para configurar essas permissões, faça o seguinte:

1. Na página Console de gerenciamento da AWS inicial, selecione o serviço IAM ou navegue até o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Selecione **Usuários** ou **Perfis** e, em seguida, selecione seu usuário ou perfil.

1. Na guia **Permissões**, escolha **Adicionar permissões** e, em seguida, escolha **Adicionar política AWS gerenciada**. Escolha a política gerenciada [AmazonBedrockFullAccess]() AWS .

1. Para permitir que o usuário ou o perfil assine modelos, escolha **Criar política em linha** e especifique as seguintes permissões no editor JSON:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "MarketplaceBedrock",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe",
                 "aws-marketplace:Subscribe"
             ],
             "Resource": "*"
         }
     ]
   }
   ```

------

## Tentar fazer chamadas de API para o Amazon Bedrock
<a name="gs-try-bedrock"></a>

Depois de cumprir todos os pré-requisitos, selecione um dos seguintes tópicos para testar a realização de solicitações de invocação de modelo usando modelos do Amazon Bedrock:

**Topics**
+ [Obter credenciais para conceder acesso programático](#gs-grant-program-access)
+ [Anexar permissões do Amazon Bedrock a um usuário ou perfil](#gs-api-br-permissions)
+ [Tentar fazer chamadas de API para o Amazon Bedrock](#gs-try-bedrock)
+ [Comece a usar as chaves de API do Amazon Bedrock: gere uma chave de trinta dias e faça sua primeira chamada de API](getting-started-api-keys.md)
+ [Execute exemplos de solicitações de API do Amazon Bedrock com o AWS Command Line Interface](getting-started-api-ex-cli.md)
+ [Execute exemplos de solicitações de API do Amazon Bedrock por meio do AWS SDK para Python (SDK for Python) (Boto3)](getting-started-api-ex-python.md)
+ [Execute exemplos de solicitações de API do Amazon Bedrock usando um notebook Amazon SageMaker AI](getting-started-api-ex-sm.md)

# Comece a usar as chaves de API do Amazon Bedrock: gere uma chave de trinta dias e faça sua primeira chamada de API
<a name="getting-started-api-keys"></a>

Este tutorial explica como criar uma chave de API de longo prazo do Amazon Bedrock que expira em 30 dias e como usá-la para fazer uma simples chamada de API [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) usando Python. Essa é a maneira mais rápida de começar a experimentar o Amazon Bedrock sem configurar credenciais complexas AWS .

**Atenção**  
As chaves de API de longo prazo são recomendadas somente para exploração e desenvolvimento do Amazon Bedrock. Para aplicações de produção, use [alternativas às chaves de acesso de longo prazo](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys), como perfis do IAM ou credenciais temporárias.

Siga estas etapas para criar uma chave de API de longo prazo do Amazon Bedrock que expira em trinta dias:

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Chaves de API**.

1. Na guia **Chaves de API de longo prazo**, escolha **Gerar chaves de API de longo prazo**.

1. Na seção **Expiração da chave de API**, selecione **30 dias**.

1. Escolha **Gerar**. A chave que você gera fornece permissões para realizar as principais ações do Amazon Bedrock, conforme definido na [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)política em anexo.

1. Copie a chave de API gerada e armazene-a com segurança. Você precisará dessa chave na próxima etapa.
**Importante**  
A chave de API só é exibida uma vez. Copie e salve-a antes de fechar a caixa de diálogo. Lembre-se de que a chave de API expirará em trinta dias. Você pode gerar outra seguindo as mesmas etapas ou considerar a possibilidade mudar para métodos de autenticação mais seguros para uso contínuo.

1. Defina a chave de API como uma variável de ambiente *\$1\$1api-key\$1* substituindo-a pelo valor da chave de API gerada e use-a para gerar uma resposta no método de sua escolha:

------
#### [ Python ]

   ```
   import boto3
   import os
   
   # Set the API key as an environment variable
   os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"
   
   # Create the Bedrock client
   client = boto3.client(
       service_name="bedrock-runtime",
       region_name="us-east-1"
   )
   
   # Define the model and message
   model_id = "us.anthropic.claude-3-5-haiku-20241022-v1:0"
   messages = [{"role": "user", "content": [{"text": "Hello! Can you tell me about Amazon Bedrock?"}]}]
   
   # Make the API call
   response = client.converse(
       modelId=model_id,
       messages=messages,
   )
   
   # Print the response
   print(response['output']['message']['content'][0]['text'])
   ```

------
#### [ HTTP client using Python ]

   ```
   import requests
   
   url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"
   
   payload = {
       "messages": [
           {
               "role": "user",
               "content": [{"text": "Hello"}]
           }
       ]
   }
   
   headers = {
       "Content-Type": "application/json",
       "Authorization": "Bearer ${api-key}"
   }
   
   response = requests.request("POST", url, json=payload, headers=headers)
   
   print(response.text)
   ```

------
#### [ HTTP request using cURL ]

   ```
   curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer ${api-key}" \
     -d '{
       "messages": [
           {
               "role": "user",
               "content": [{"text": "Hello"}]
           }
       ]
     }'
   ```

------

Parabéns\$1 Você gerou com sucesso uma chave de API do Amazon Bedrock e fez sua primeira chamada de API para o serviço Amazon Bedrock. Depois de explorar mais algumas ações do Amazon Bedrock, você deve fazer a transição para métodos mais seguros de autenticação, como chaves de API do Amazon Bedrock de curto prazo ou credenciais temporárias AWS abrangentes. Consulte os seguintes recursos para saber mais:
+ **Explore modelos diferentes**: conheça outros modelos de base disponíveis no Amazon Bedrock em [Informações sobre modelos de base do Amazon Bedrock](foundation-models-reference.md) e altere o `model_id` em seu código para testá-los.
+ **Saiba o que é inferência do modelo**: para saber como gerar respostas com inferência do modelo, leia o texto [Envie prompts e gere respostas com a inferência de modelo](inference.md), que aborda os conceitos e opções disponíveis no Amazon Bedrock.
+ **Planeje a produção com métodos de autenticação mais seguros** — Leia sobre as chaves de API do Amazon Bedrock com mais detalhes no capítulo Build e como criar chaves de API do Amazon Bedrock mais seguras e de curto prazo. Quando estiver pronto para criar aplicativos de produção, você também deve analisar [alternativas às chaves de acesso de longo prazo](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) para obter opções mais seguras que também permitam o acesso a outros AWS serviços.

# Execute exemplos de solicitações de API do Amazon Bedrock com o AWS Command Line Interface
<a name="getting-started-api-ex-cli"></a>

Esta seção orienta você a experimentar algumas operações comuns no Amazon Bedrock usando o AWS Command Line Interface para testar se suas permissões e autenticação estão configuradas corretamente. Antes de executar os exemplos abaixo, verifique se os seguintes pré-requisitos foram atendidos:

**Pré-requisitos**
+ Você tem um Conta da AWS e um usuário ou função com a autenticação configurada e as permissões necessárias para o Amazon Bedrock. Caso contrário, siga as etapas em [Começar a usar a API](getting-started-api.md).
+ Você instalou e configurou a autenticação para a AWS CLI. Para instalar o AWS CLI, siga as etapas em [Instalar ou atualizar para a versão mais recente do AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). Verifique se você configurou suas credenciais para usar a CLI seguindo as etapas em [Obter credenciais para conceder acesso programático](getting-started-api.md#gs-grant-program-access).

Teste se suas permissões estão configuradas corretamente para o Amazon Bedrock, usando um usuário ou um perfil que você configurou com as permissões adequadas.

**Topics**
+ [Listar os modelos de base que o Amazon Bedrock oferece](#getting-started-api-ex-cli-listfm)
+ [Envie uma solicitação de texto para um modelo e gere uma resposta de texto com InvokeModel](#getting-started-api-ex-cli-invoke-text)
+ [Enviar um prompt de texto a um modelo e gerar uma resposta de texto com Converse](#getting-started-api-ex-cli-converse)

## Listar os modelos de base que o Amazon Bedrock oferece
<a name="getting-started-api-ex-cli-listfm"></a>

O exemplo a seguir executa a [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)operação usando AWS CLI o. `ListFoundationModels`lista os modelos de fundação (FMs) que estão disponíveis no Amazon Bedrock em sua região. Em um terminal, execute o seguinte comando:

```
aws bedrock list-foundation-models
```

Se a ação for bem-sucedida, a resposta retornará uma lista de modelos de base disponíveis no Amazon Bedrock.

## Envie uma solicitação de texto para um modelo e gere uma resposta de texto com InvokeModel
<a name="getting-started-api-ex-cli-invoke-text"></a>

O exemplo a seguir executa a [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)operação usando AWS CLI o. `InvokeModel`permite que você envie uma solicitação para gerar uma resposta do modelo. Em um terminal, execute o seguinte comando:

```
aws bedrock-runtime invoke-model \
--model-id amazon.titan-text-express-v1 \
--body '{"inputText": "Describe the purpose of a \"hello world\" program in one line.", "textGenerationConfig" : {"maxTokenCount": 512, "temperature": 0.5, "topP": 0.9}}' \
--cli-binary-format raw-in-base64-out \
invoke-model-output-text.txt
```

Se o comando for bem-sucedido, a resposta gerada pelo modelo será gravada no arquivo `invoke-model-output-text.txt`. A resposta de texto é retornada no campo `outputText`, com as informações que a acompanham.

## Enviar um prompt de texto a um modelo e gerar uma resposta de texto com Converse
<a name="getting-started-api-ex-cli-converse"></a>

O exemplo a seguir executa a operação [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) usando o. AWS CLI`Converse`permite que você envie uma solicitação para gerar uma resposta do modelo. É recomendável usar a operação `Converse` em vez de `InvokeModel` quando compatível, pois ela unifica a solicitação de inferência nos modelos do Amazon Bedrock e simplifica o gerenciamento de conversas em vários turnos. Em um terminal, execute o seguinte comando:

```
aws bedrock-runtime converse \
--model-id amazon.titan-text-express-v1 \
--messages '[{"role": "user", "content": [{"text": "Describe the purpose of a \"hello world\" program in one line."}]}]' \
--inference-config '{"maxTokens": 512, "temperature": 0.5, "topP": 0.9}'
```

Se o comando for bem-sucedido, a resposta gerada pelo modelo será retornada no campo `text`, com as informações que o acompanham.

# Execute exemplos de solicitações de API do Amazon Bedrock por meio do AWS SDK para Python (SDK for Python) (Boto3)
<a name="getting-started-api-ex-python"></a>

Esta seção orienta você a experimentar algumas operações comuns no Amazon Bedrock com o AWS Python para testar se suas permissões e autenticação estão configuradas corretamente. Antes de executar os exemplos abaixo, verifique se os seguintes pré-requisitos foram atendidos:

**Pré-requisitos**
+ Você tem um Conta da AWS usuário ou uma função com a autenticação configurada e as permissões necessárias para o Amazon Bedrock. Caso contrário, siga as etapas em [Começar a usar a API](getting-started-api.md).
+ Você instalou e configurou a autenticação para o AWS SDK para Python (Boto3). Para instalar o Boto3, siga as etapas em [Quickstart](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) na documentação do Boto3. Verifique se você configurou suas credenciais para usar o Boto3 seguindo as etapas em [Obter credenciais para conceder acesso programático](getting-started-api.md#gs-grant-program-access).

Teste se suas permissões estão configuradas corretamente para o Amazon Bedrock, usando um usuário ou um perfil que você configurou com as permissões adequadas. 

A documentação do Amazon Bedrock também inclui exemplos de código para outras linguagens de programação. Para obter mais informações, consulte [Exemplos de código para o Amazon Bedrock usando AWS SDKs](service_code_examples.md).

**Topics**
+ [Listar os modelos de base que o Amazon Bedrock oferece](#getting-started-api-ex-python-listfm)
+ [Envie uma solicitação de texto para um modelo e gere uma resposta de texto com InvokeModel](#getting-started-api-ex-python-invoke-text)
+ [Enviar um prompt de texto a um modelo e gerar uma resposta de texto com Converse](#getting-started-api-ex-python-converse)

## Listar os modelos de base que o Amazon Bedrock oferece
<a name="getting-started-api-ex-python-listfm"></a>

O exemplo a seguir executa a [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)operação usando um cliente Amazon Bedrock. `ListFoundationModels`lista os modelos de fundação (FMs) que estão disponíveis no Amazon Bedrock em sua região. Execute o seguinte script SDK para Python para criar um cliente Amazon Bedrock e testar a operação: [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)

```
"""
Lists the available Amazon Bedrock models in an &AWS-Region;.
"""
import logging
import json
import boto3


from botocore.exceptions import ClientError


logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


def list_foundation_models(bedrock_client):
    """
    Gets a list of available Amazon Bedrock foundation models.

    :return: The list of available bedrock foundation models.
    """

    try:
        response = bedrock_client.list_foundation_models()
        models = response["modelSummaries"]
        logger.info("Got %s foundation models.", len(models))
        return models

    except ClientError:
        logger.error("Couldn't list foundation models.")
        raise


def main():
    """Entry point for the example. Change aws_region to the &AWS-Region;
    that you want to use."""
   
    aws_region = "us-east-1"

    bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region)
    
    fm_models = list_foundation_models(bedrock_client)
    for model in fm_models:
        print(f"Model: {model["modelName"]}")
        print(json.dumps(model, indent=2))
        print("---------------------------\n")
    
    logger.info("Done.")

if __name__ == "__main__":
    main()
```

Se o script for bem-sucedido, a resposta retornará uma lista de modelos de base que estão disponíveis no Amazon Bedrock.

## Envie uma solicitação de texto para um modelo e gere uma resposta de texto com InvokeModel
<a name="getting-started-api-ex-python-invoke-text"></a>

O exemplo a seguir executa a [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)operação usando um cliente Amazon Bedrock. `InvokeModel`permite que você envie uma solicitação para gerar uma resposta do modelo. Execute o seguinte script do SDK para Python para criar um cliente de runtime do Amazon Bedrock e gerar uma resposta de texto com a operação ``:

```
# Use the native inference API to send a text message to Amazon Titan Text G1 - Express.

import boto3
import json

from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Define the prompt for the model.
prompt = "Describe the purpose of a 'hello world' program in one line."

# Format the request payload using the model's native structure.
native_request = {
    "inputText": prompt,
    "textGenerationConfig": {
        "maxTokenCount": 512,
        "temperature": 0.5,
        "topP": 0.9
    },
}

# Convert the native request to JSON.
request = json.dumps(native_request)

try:
    # Invoke the model with the request.
    response = brt.invoke_model(modelId=model_id, body=request)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)

# Decode the response body.
model_response = json.loads(response["body"].read())

# Extract and print the response text.
response_text = model_response["results"][0]["outputText"]
print(response_text)
```

Se o comando for bem-sucedido, a resposta retornará o texto gerado pelo modelo em resposta ao prompt.

## Enviar um prompt de texto a um modelo e gerar uma resposta de texto com Converse
<a name="getting-started-api-ex-python-converse"></a>

O exemplo a seguir executa a operação [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) usando um cliente do Amazon Bedrock. É recomendável usar a operação `Converse` em vez de `InvokeModel` quando compatível, pois ela unifica a solicitação de inferência nos modelos do Amazon Bedrock e simplifica o gerenciamento de conversas em vários turnos. Execute o seguinte script do SDK para Python para criar um cliente de runtime do Amazon Bedrock e gerar uma resposta de texto com a operação `Converse`:

```
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express.

import boto3
from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Start a conversation with the user message.
user_message = "Describe the purpose of a 'hello world' program in one line."
conversation = [
    {
        "role": "user",
        "content": [{"text": user_message}],
    }
]

try:
    # Send the message to the model, using a basic inference configuration.
    response = brt.converse(
        modelId=model_id,
        messages=conversation,
        inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9},
    )

    # Extract and print the response text.
    response_text = response["output"]["message"]["content"][0]["text"]
    print(response_text)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)
```

Se o comando for bem-sucedido, a resposta retornará o texto gerado pelo modelo em resposta ao prompt.

# Execute exemplos de solicitações de API do Amazon Bedrock usando um notebook Amazon SageMaker AI
<a name="getting-started-api-ex-sm"></a>

Esta seção orienta você a experimentar algumas operações comuns no Amazon Bedrock com um notebook Amazon SageMaker AI para testar se suas permissões de função no Amazon Bedrock estão configuradas corretamente. Antes de executar os exemplos abaixo, verifique se os seguintes pré-requisitos foram atendidos:

**Pré-requisitos**
+ Você tem Conta da AWS e tem permissões para acessar uma função com as permissões necessárias para o Amazon Bedrock. Caso contrário, siga as etapas em [Início rápido](getting-started.md).
+ Execute as etapas a seguir para configurar as permissões do IAM para SageMaker IA e criar um notebook:

  1. Modifique a [política de confiança](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#term_trust-policy) da função do Amazon Bedrock que configurou em [Início rápido](getting-started.md) por meio do [console](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy), da [CLI](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-cli.html#roles-managingrole_edit-trust-policy-cli) ou da [API](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-api.html#roles-managingrole_edit-trust-policy-api). Vincule a seguinte política de confiança à função para permitir que os serviços Amazon Bedrock e SageMaker AI assumam a função Amazon Bedrock:

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "BedrockTrust",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "bedrock.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
             },
             {
                 "Sid": "SagemakerTrust",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "sagemaker.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```

------

  1. Faça login na função do Amazon Bedrock cuja política de confiança você acabou de modificar.

  1. Siga as etapas em [Criar uma instância do Amazon SageMaker AI Notebook para ver o tutorial](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html) e especifique o ARN da função Amazon Bedrock que você criou para criar uma instância de notebook com SageMaker IA.

  1. Quando o **Status** da instância do notebook for **InService**, escolha a instância e, em seguida, escolha **Abrir JupyterLab**.

Depois de abrir seu notebook de SageMaker IA, você pode experimentar os seguintes exemplos:

**Topics**
+ [Listar os modelos de base que o Amazon Bedrock oferece](#getting-started-api-ex-sm-listfm)
+ [Enviar um prompt de texto a um modelo e gerar uma resposta](#getting-started-api-ex-sm-converse)

## Listar os modelos de base que o Amazon Bedrock oferece
<a name="getting-started-api-ex-sm-listfm"></a>

O exemplo a seguir executa a [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)operação usando um cliente Amazon Bedrock. `ListFoundationModels`lista os modelos de fundação (FMs) que estão disponíveis no Amazon Bedrock em sua região. Execute o seguinte script SDK para Python para criar um cliente Amazon Bedrock e testar a operação: [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)

```
"""
Lists the available Amazon Bedrock models in an &AWS-Region;.
"""
import logging
import json
import boto3


from botocore.exceptions import ClientError


logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


def list_foundation_models(bedrock_client):
    """
    Gets a list of available Amazon Bedrock foundation models.

    :return: The list of available bedrock foundation models.
    """

    try:
        response = bedrock_client.list_foundation_models()
        models = response["modelSummaries"]
        logger.info("Got %s foundation models.", len(models))
        return models

    except ClientError:
        logger.error("Couldn't list foundation models.")
        raise


def main():
    """Entry point for the example. Change aws_region to the &AWS-Region;
    that you want to use."""
   
    aws_region = "us-east-1"

    bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region)
    
    fm_models = list_foundation_models(bedrock_client)
    for model in fm_models:
        print(f"Model: {model["modelName"]}")
        print(json.dumps(model, indent=2))
        print("---------------------------\n")
    
    logger.info("Done.")

if __name__ == "__main__":
    main()
```

Se o script for bem-sucedido, a resposta retornará uma lista de modelos de base que estão disponíveis no Amazon Bedrock.

## Enviar um prompt de texto a um modelo e gerar uma resposta
<a name="getting-started-api-ex-sm-converse"></a>

O exemplo a seguir executa a operação [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) usando um cliente do Amazon Bedrock. `Converse` permite enviar um prompt para gerar uma resposta do modelo. Execute o seguinte script do SDK para Python para criar um cliente de runtime do Amazon Bedrock e testar a operação [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html):

```
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express.

import boto3
from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Start a conversation with the user message.
user_message = "Describe the purpose of a 'hello world' program in one line."
conversation = [
    {
        "role": "user",
        "content": [{"text": user_message}],
    }
]

try:
    # Send the message to the model, using a basic inference configuration.
    response = brt.converse(
        modelId=model_id,
        messages=conversation,
        inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9},
    )

    # Extract and print the response text.
    response_text = response["output"]["message"]["content"][0]["text"]
    print(response_text)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)
```

Se o comando for bem-sucedido, a resposta retornará o texto gerado pelo modelo em resposta ao prompt.