

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

# Criar e planejar um fluxo no Amazon Bedrock
<a name="flows-create"></a>

Nesta seção, aprenda a criar e projetar fluxos com o console do Amazon Bedrock. Para ajudar você a começar, os fluxos criados com o console são configurados para serem executados com um único nó de prompt. Esta seção também inclui mais exemplos e modelos para criar diferentes tipos de fluxo.

Se você quiser usar o SDK da AWS para criar um fluxo, consulte [Executar exemplos de código do recurso Fluxos do Amazon Bedrock](flows-code-ex.md).

**Topics**
+ [Criar seu primeiro fluxo no Amazon Bedrock](flows-get-started.md)
+ [Planejar um fluxo no Amazon Bedrock](flows-design.md)
+ [Experimentar fluxos de exemplo](flows-ex.md)
+ [Usar um modelo para criar um fluxo do Amazon Bedrock](flows-templates.md)

# Criar seu primeiro fluxo no Amazon Bedrock
<a name="flows-get-started"></a>

Sempre que você cria um fluxo, o console do Amazon Bedrock cria um fluxo introdutório para você. O fluxo inclui um nó de **entrada de fluxo**, um nó de **prompt** e um nó de **saída de fluxo**. Ao executar o fluxo, você insere um tópico para o fluxo que usa o nó de prompt para resumir o tópico. Antes de executar os fluxos, você precisa definir o modelo para o prompt. 

Para criar um fluxo, forneça um nome e uma descrição para ele. Por padrão, o Amazon Bedrock cria um perfil de serviço com as permissões apropriadas. Se preferir, especifique um perfil de serviço existente.

O Amazon Bedrock criptografa seus dados em repouso. Por padrão, o Amazon Bedrock criptografa esses dados usando uma chave gerenciada pela AWS. Opcionalmente, é possível criptografar o fluxo usando uma chave gerenciada pelo cliente. Para obter mais informações, consulte [Criptografia dos recursos do Amazon Bedrock Flows](encryption-flows.md).

Depois de concluir o fluxo introdutório, ou se não precisar dele, você poderá continuar criando seu fluxo. É recomendável ler [Como o recurso Fluxos do Amazon Bedrock funciona](flows-how-it-works.md) para se familiarizar com os conceitos e os termos no recurso Fluxos do Amazon Bedrock e saber mais sobre os tipos de nó que estão disponíveis para você. Para obter mais informações, consulte [Planejar um fluxo no Amazon Bedrock](flows-design.md).

**Como criar seu primeiro fluxo**

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

1. Selecione **Fluxos do Amazon Bedrock** no painel de navegação à esquerda.

1. Na seção **Fluxos do Amazon Bedrock**, escolha **Criar fluxo**.

1. Informe um **Nome** para o fluxo e uma **Descrição** opcional.

1. Em **Nome do perfil de serviço**, escolha uma das seguintes opções:
   + **Criar e usar um perfil de serviço**: deixe o Amazon Bedrock criar um perfil de serviço para você.
   + **Usar um perfil de serviço existente**: selecione um perfil de serviço personalizado configurado anteriormente. Para obter mais informações, consulte [Criar um perfil de serviço para fluxos do Amazon Bedrock no Amazon Bedrock](flows-permissions.md).

1. (Opcional) Criptografe seu fluxo com uma chave gerenciada pelo cliente fazendo o seguinte: 

   1. Selecione **Configurações adicionais**.

   1. Em **Seleção de chaves do KMS**, escolha **Personalizar configurações de criptografia (avançado)**. Em seguida, execute uma das seguintes ações em **Escolha uma chave do AWS KMS**:
      + Para usar uma chave em vigor, insira o ARN ou encontre a chave que deseja usar. 
      + Para criar uma chave, escolha **Criar uma chave do AWS KMS** para abrir o console do AWS Key Management Service e [criar a chave](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html). Ao criar a chave, anote o respectivo ARN. De volta ao console do Amazon Bedrock, insira o ARN da chave em **Escolha uma chave do AWS KMS**.

   Para obter mais informações, consulte [Criptografia dos recursos do Amazon Bedrock Flows](encryption-flows.md).

1. Escolha **Criar**. O Amazon Bedrock cria o fluxo introdutório e conduz você ao **Construtor de fluxo**.

1. Na seção **Construtor de fluxo**, observe que o painel central (tela) exibe um nó de **entrada de fluxo**, um nó de **prompt** e uma **saída de fluxo**. Os nós já estão conectados entre si. 

1. Na tela, selecione o nó **Prompt**.

1. No painel do construtor de fluxo, selecione a seção **Configurações**.

1. Em **Nome do nó**, verifique se a opção **Definir no nó** está selecionada.

1. Escolha **Selecionar um modelo** para escolher o modelo a ser usado.

1. Selecione **Salvar** para salvar o fluxo.

1. No painel **Testar fluxo** à direita, insira um tópico para o fluxo resumir.

1. Para executar o fluxo, escolha **Executar**. O fluxo exibe o tópico resumido.

# Planejar um fluxo no Amazon Bedrock
<a name="flows-design"></a>

Nesta seção, você criará um fluxo do Amazon Bedrock. Antes de planejar um fluxo, é recomendável ler [Como o recurso Fluxos do Amazon Bedrock funciona](flows-how-it-works.md) para se familiarizar com os conceitos e os termos no recurso Fluxos do Amazon Bedrock e saber mais sobre os tipos de nó que estão disponíveis para você. Para exemplos de fluxo que você pode experimentar, consulte [Experimentar fluxos de exemplo](flows-ex.md).

**Como construir o fluxo**

1. Se você ainda não estiver no **Construtor de fluxo**, faça o seguinte:

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

   1. Selecione **Fluxos do Amazon Bedrock** no painel de navegação à esquerda. Escolha um fluxo na seção **Fluxos do Amazon Bedrock**.

   1. Escolha **Editar no construtor de fluxo**.

1. Na seção **Construtor de fluxo**, o painel central exibe um nó de **entrada de fluxo** e um nó de **saída de fluxo**. Esses são os nós de entrada e de saída do fluxo.

1. Faça o seguinte para adicionar e configurar nós:

   1. No painel **Construtor de fluxo**, selecione **Nós**.

   1. Arraste um nó que deseja usar na primeira etapa do fluxo e solte-o no painel central.

   1. Os círculos nos nós são pontos de conexão. Para conectar o nó de entrada do fluxo ao segundo nó, arraste uma linha do círculo no nó de **Entrada de fluxo** até o círculo na seção **Entrada** do nó que acabou de adicionar.

   1. Selecione o nó que você acabou de adicionar.

   1. Na seção **Configurar** do painel **Construtor de fluxo**, forneça as configurações para o nó selecionado e defina nomes, tipos de dados e expressões para as entradas e saídas do nó.

   1. No painel **Construtor de fluxo**, selecione **Nós**.

   1. Repita as etapas para adicionar e configurar os nós restantes no fluxo.
**nota**  
Se você usar um perfil de serviço que o Amazon Bedrock criou automaticamente para você, o perfil será atualizado com as permissões adequadas conforme você adicionar nós. No entanto, se usar um perfil de serviço personalizado, adicione as permissões adequadas à política anexada ao perfil de serviço que se refere a [Criar um perfil de serviço para fluxos do Amazon Bedrock no Amazon Bedrock](flows-permissions.md).

1. Conecte a **Saída** do último nó no fluxo com a **Entrada** do nó de **Saída de fluxo**. É possível ter vários nós de **Saída de fluxo**. Para adicionar mais nós de saída de fluxo, arraste o nó de **Saída de fluxo** e solte-o ao lado do nó em que você deseja que o fluxo pare. Desenhe as conexões entre os dois nós.

1. Prossiga para o procedimento seguinte pra [Testar um fluxo no Amazon Bedrock](flows-test.md) ou voltar posteriormente. Para continuar com a próxima etapa, escolha **Salvar**. Para voltar mais tarde, escolha **Salvar e sair**.

**Excluir um nó ou uma conexão**

Durante o processo de construção do fluxo, talvez seja necessário excluir um nó ou remover as conexões do nó.

**Como excluir um nó**

1. Selecione um nó que deseja excluir.

1. No painel **Construtor de fluxo**, escolha o ícone de exclusão (![\[Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/trash.png)).
**nota**  
Se você usar um perfil de serviço que o Amazon Bedrock criou automaticamente para você, o perfil será atualizado com as permissões adequadas conforme você adicionar nós. Ao excluir nós, no entanto, as permissões relevantes não serão excluídas. É recomendável excluir as permissões que não são mais necessárias seguindo as etapas em [Modificar um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html).

**Como remover uma conexão**
+ Na página **Construtor de fluxo**, passe o mouse sobre a conexão que deseja remover até ver o ícone de expansão e arraste a conexão para fora do nó.

Os seguintes requisitos são aplicáveis à construção de um fluxo:
+ O fluxo deve ter somente um nó de entrada de fluxo e pelo menos um nó de saída de fluxo.
+ Não é possível incluir entradas para um nó de entrada de fluxo.
+ Não é possível incluir saídas para um nó de saída de fluxo.
+ Cada saída em um nó deve ser conectada a uma entrada em um nó subsequente (na API, isso é feito por meio de um [FlowConnection](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowConnection.html) com um [FlowDataConnectionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowDataConnectionConfiguration.html)).
+ Cada condição (incluindo a condição padrão) em um nó de condição deve ser conectada a um nó subsequente (na API, isso é feito por meio de um [FlowConnection](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowConnection.html) com um [FlowConditionalConnectionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowConditionalConnectionConfiguration.html)).

Os seguintes ponteiros se aplicam à construção de um fluxo:
+ Comece definindo o tipo de dados para a saída do nó de entrada do fluxo. Esse tipo de dados deve corresponder ao que você espera enviar como a entrada ao invocar o fluxo.
+ Ao definir as entradas para um fluxo usando expressões, verifique se o resultado corresponde ao tipo de dados escolhido para a entrada.
+ Se você incluir um nó iterador, inclua um nó coletor subsequente depois de enviar a saída por meio dos nós necessários. O nó coletor retornará as saídas em uma matriz.

# Experimentar fluxos de exemplo
<a name="flows-ex"></a>

Este tópico fornece alguns exemplos de fluxos que é possível experimentar para começar a usar o recurso Fluxos do Amazon Bedrock. Também é possível usar modelos para criar um fluxo inicial. Para obter mais informações, consulte [Usar um modelo para criar um fluxo do Amazon Bedrock](flows-templates.md).

Expanda um exemplo para ver como criá-lo no console do Amazon Bedrock:

**Topics**
+ [Criar um fluxo com um único prompt](flows-ex-prompt.md)
+ [Criar um fluxo com um nó de condição](flows-ex-condition.md)

# Criar um fluxo com um único prompt
<a name="flows-ex-prompt"></a>

A imagem a seguir mostra um fluxo que consiste em um único prompt, definido em linha no nó. O prompt gera uma playlist de músicas com base em uma entrada de objeto JSON que inclui o gênero e o número de músicas a serem incluídas na playlist. 

![\[Exemplo de uso de um nó de prompt com duas variáveis.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/flows/flows-prompt.png)


**Como criar e testar esse fluxo no console**

1. Crie um fluxo seguindo as instruções em [Criar seu primeiro fluxo no Amazon Bedrock](flows-get-started.md).

1. Configure o nó do prompt da seguinte forma:

   1. Selecione o nó **Prompt** no painel central.

   1. Selecione a guia **Configurar** no painel **Construtor de fluxo**.

   1. Insira **MakePlaylist** como o **Nome do nó**.

   1. Escolha **Definir no nó**.

   1. Defina as seguintes configurações para o prompt:

      1. Em **Selecionar modelo**, selecione um modelo para executar a inferência no prompt.

      1. Na caixa de texto **Mensagem**, insira **Make me a \$1\$1genre\$1\$1 playlist consisting of the following number of songs: \$1\$1number\$1\$1.**. Isso cria duas variáveis que aparecerão como entradas no nó.

      1. (Opcional) Modifique as **Configurações de inferência**. 

      1. (Opcional) Se compatível com o modelo, você pode configurar o **Armazenamento em cache de prompts** para a mensagem de prompt. Para obter mais informações, consulte [Criar e planejar um fluxo no Amazon Bedrock](flows-create.md).

   1. Expanda a seção **Entradas**. Os nomes das entradas são pré-preenchidos pelas variáveis na mensagem do prompt. Configure as entradas da seguinte forma:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/flows-ex-prompt.html)

      Essa configuração significa que o nó do prompt espera um objeto JSON que contém um campo chamado `genre` a ser associado à entrada `genre` e um campo chamado `number` a ser associado à entrada `number`.

   1. Não é possível modificar a **Saída**. Ela será a resposta do modelo, retornada como uma string.

1. Escolha o nó de **Entrada de fluxo** e selecione a guia **Configurar**. Selecione **Objeto** como o **Tipo**. Isso significa que a invocação do fluxo espera receber um objeto JSON.

1. Conecte os nós para concluir o fluxo seguindo estes passos:

   1. Arraste uma conexão do nó de saída do nó de **Entrada de fluxo** para a entrada de **gênero** no nó de prompt **MakePlaylist**.

   1. Arraste uma conexão do nó de saída do nó de **Entrada de fluxo** para a entrada de **número** no nó de prompt **MakePlaylist**.

   1. Arraste uma conexão do nó de saída da saída **modelCompletion** no nó de prompt **MakePlaylist** para a entrada do **documento** no nó **Saída de fluxo**.

1. Selecione **Salvar** para salvar o fluxo. Agora, o fluxo deve estar preparado para testes.

1. Teste o fluxo inserindo o objeto JSON a seguir no painel **Testar fluxo** à direita. Escolha **Executar** e o fluxo deve retornar uma resposta do modelo.

   ```
   {
       "genre": "pop",
       "number": 3
   }
   ```

# Criar um fluxo com um nó de condição
<a name="flows-ex-condition"></a>

A seguinte imagem mostra um fluxo com um nó de condição que exibe um dos três valores possíveis com base na condição atendida:

![\[Exemplo de uso de um nó de condição com duas condições.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/flows/flows-condition.png)


**Como criar e testar esse fluxo no console:**

1. Crie um fluxo seguindo as instruções em [Criar seu primeiro fluxo no Amazon Bedrock](flows-get-started.md).

1. Exclua o nó **Prompt** no painel central.

1. Configure o nó de condição da seguinte forma:

   1. No painel **Construtor de fluxo**, selecione a guia **Nós**.

   1. Arraste um nó de **Condição** para o fluxo no painel central.

   1. Selecione a guia **Configurar** no painel **Construtor de fluxo**.

   1. Expanda a seção **Entradas**. Configure as entradas da seguinte forma:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/flows-ex-condition.html)

      Essa configuração significa que o nó de condição espera um objeto JSON que contenha os campos `retailPrice`, `marketPrice` e `type`.

   1. Configure as condições da seguinte forma:

      1. Na seção **Condições**, você pode optar por alterar o nome da condição. Adicione a seguinte condição na caixa de texto **Condição**: **(retailPrice > 10) and (type == "produce")**.

      1. Adicione uma segunda condição escolhendo **Adicionar condição**. Opcionalmente, altere o nome da segunda condição. Adicione a seguinte condição na caixa de texto **Condição**: **(retailPrice < marketPrice)**.

1. Escolha o nó de **Entrada de fluxo** e selecione a guia **Configurar**. Selecione **Objeto** como o **Tipo**. Isso significa que a invocação do fluxo espera receber um objeto JSON.

1. Adicione nós de saída de fluxo para que tenha três no total. Configure-os da seguinte forma na guia **Configurar** do painel **Construtor de fluxo** de cada nó de saída de fluxo:

   1. Defina o tipo de entrada do primeiro nó de saída de fluxo como **String** e a expressão como **\$1.data.action[0]** para retornar o primeiro valor na matriz no campo `action` do objeto de entrada.

   1. Defina o tipo de entrada do segundo nó de saída de fluxo como **String** e a expressão como **\$1.data.action[1]** para retornar o segundo valor na matriz no campo `action` do objeto de entrada.

   1. Defina o tipo de entrada do terceiro nó de saída de fluxo como **String** e a expressão como **\$1.data.action[2]** para retornar o terceiro valor na matriz no campo `action` do objeto de entrada.

1. Conecte a primeira condição ao primeiro nó de saída de fluxo, a segunda condição ao segundo nó de saída de fluxo e a condição padrão ao terceiro nó de saída de fluxo.

1. Conecte as entradas e saídas a todos os nós para concluir o fluxo da seguinte forma:

   1. Arraste uma conexão do nó de saída do nó de **Entrada de fluxo** para a entrada **retailPrice** no nó de condição.

   1. Arraste uma conexão do nó de saída do nó de **Entrada de fluxo** para a entrada **marketPrice** no nó de condição.

   1. Arraste uma conexão do nó de saída do nó de **Entrada de fluxo** para a entrada **tipo** no nó de condição.

   1. Arraste uma conexão da saída do nó de **Entrada de fluxo** para a entrada do **documento** em cada um dos três nós de saída.

1. Selecione **Salvar** para salvar o fluxo. Agora, o fluxo deve estar preparado para testes.

1. Teste o fluxo inserindo os objetos JSON a seguir no painel **Testar fluxo** à direita. Escolha **Executar** para cada entrada:

   1. O objeto a seguir preenche a primeira condição (`retailPrice` é maior que 10 e `type` é “produzir”) e exibe o primeiro valor em `action` (“não comprar”):

      ```
      {
          "retailPrice": 11, 
          "marketPrice": 12, 
          "type": "produce", 
          "action": ["don't buy", "buy", "undecided"]
      }
      ```
**nota**  
Mesmo que a primeira e a segunda condições sejam atendidas, a primeira condição tem precedência, pois vem primeiro.

   1. O objeto a seguir preenche a segunda condição (`retailPrice` é menor que `marketPrice`) e exibe o segundo valor em `action` (“comprar”):

      ```
      {
          "retailPrice": 11, 
          "marketPrice": 12, 
          "type": "meat", 
          "action": ["don't buy", "buy", "undecided"]
      }
      ```

   1. O objeto a seguir não preenche nem a primeira condição (`retailPrice` é maior que 10, mas o `type` não é “produzir”) nem a segunda condição (`retailPrice` não é menor que `marketPrice`), portanto, o terceiro valor na `action` (“não decidido”) é exibido:

      ```
      {
          "retailPrice": 11, 
          "marketPrice": 11, 
          "type": "meat", 
          "action": ["don't buy", "buy", "undecided"]
      }
      ```

# Usar um modelo para criar um fluxo do Amazon Bedrock
<a name="flows-templates"></a>

Para ajudar você a começar a definir e orquestrar o recurso Fluxos do Amazon Bedrock, use modelos para criar fluxos para uma variedade de configurações de fluxo. Por exemplo, é possível um modelo para ver um fluxo que inclui uma base de conhecimento ou um fluxo que usa condições para direcionar a lógica do fluxo. 

Esses modelos podem ser acessados no repositório [Amazon Bedrock Flows Samples](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file) no GitHub. O console do Amazon Bedrock também oferece um link para o repositório por meio da página principal de um fluxo. 

Os modelos de fluxo são fornecidos como [modelos JSON](https://github.com/aws-samples/amazon-bedrock-flows-samples/tree/main/templates) para cada definição de fluxo compatível e um script Python que você usa para criar e executar o fluxo. Também é possível acessar o fluxo por meio do console do Amazon Bedrock.

O repositório fornece os seguintes modelos:
+  [KnowledgeBase Flow](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#1-knowledgebase-flow-1): mostra como integrar e consultar uma [base de conhecimento](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#1-knowledgebase-flow-1), bem como fluxos de pesquisa e recuperação da base de conhecimento e geração aumentada via recuperação (RAG).
+  [Multi-turn Conversation Agent Flow](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#2-multi-turn-conversation-agent-flow-1): mostra como realizar conversas interativas e dinâmicas com um fluxo. Para obter mais informações, consulte [Conversar com um fluxo do Amazon Bedrock](flows-multi-turn-invocation.md).
+  [Conditions Flow](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#3-conditions-flow-1): mostra como executar a lógica condicional e a ramificação em um fluxo. 
+ [Prompt Node with Guardrail Flow](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#4-prompt-node-with-guardrail-flow-1): mostra como proteger um nó de prompt com uma barreira de proteção.
+  [Iterator & Colletor Flow](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#5-iterator--collector-flow-1): mostra como processar várias entradas e agregar respostas.
+  [Multi-Agent Flow](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#5-iterator--collector-flow-1): mostra vários fluxos de trabalho baseados em agentes, inclusive colaboração multiagente e delegação de tarefas.

Antes de executar o script, você precisa criar os recursos do Amazon Bedrock a serem usados pelo fluxo, como uma base de conhecimento ou agente. É sua responsabilidade excluir os recursos quando não precisar mais deles. 

Para criar e executar um fluxo usando um modelo, execute o script (`flow_manager.py`). O script solicita todas as informações adicionais necessárias, como o modelo de fluxo que você deseja usar e os identificadores dos recursos de que o modelo precisa. É possível incluir um prompt de teste para testar o fluxo.

Opcionalmente, você pode definir a região da AWS na qual deseja que o fluxo seja criado. O script cria os recursos necessários com um conjunto padrão de [permissões de perfil do IAM](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#iam-role-permissions). Também é possível optar por usar um perfil do IAM criado por você.

Se você quiser usar o fluxo no console do Amazon Bedrock, não use o parâmetro `--cleanup`, pois isso exclui o fluxo depois que o script o executa. Se você não usar `--cleanup`, precisará excluir o fluxo quando não precisar mais dele. 

Para ter mais informações, consulte [https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file\$1how-to-use](https://github.com/aws-samples/amazon-bedrock-flows-samples?tab=readme-ov-file#how-to-use).

