

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

# Adicionar um grupo de ação ao agente no Amazon Bedrock
<a name="agents-action-add"></a>

Depois de configurar o esquema da OpenAPI e a função do Lambda para o grupo de ação, é possível criar o grupo de ação. Escolha a guia correspondente ao método de sua preferência e siga as etapas:

**nota**  
Se estiver usando o Claude 3.5 Sonnet da Anthropic, verifique se o nome da ferramenta, que terá o formato `httpVerb__actionGroupName__apiName`, segue o formato `^[a-zA-Z0-9_-]{1,64}$` do nome da ferramenta da Anthropic. O actionGroupName e apiName não devem conter sublinhados duplos `'__'`.

------
#### [ Console ]

Ao [criar um agente](agents-create.md), é possível adicionar grupos de ação ao rascunho de trabalho.

Após a criação do agente, é possível adicionar grupos de ação a ele seguindo estas etapas:

**Como adicionar um grupo de ação ao agente**

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. No painel de navegação à esquerda, selecione **Agentes**. Escolha um agente na seção **Agentes**.

1. Escolha **Editar no Construtor de agentes**.

1. Selecione **Adicionar** na seção **Grupos de ação**.

1. (Opcional) Na seção **Detalhes do grupo de ação**, altere o **Nome** gerado automaticamente e forneça uma **Descrição** opcional para grupo de ação.

1. Na seção **Tipo do grupo de ação**, selecione um dos seguintes métodos para definir os parâmetros que o agente pode obter dos usuários para ajudar a executar ações:

   1. **Definir com detalhes da função**: defina parâmetros para o agente obter do usuário a fim de executar as ações. Para obter mais informações sobre como adicionar funções, consulte [Definir detalhes da função para os grupos de ação do agente no Amazon Bedrock](agents-action-function.md).

   1. **Definir com esquemas de API**: defina as operações de API que o agente pode invocar e os parâmetros. Use um esquema OpenAPI criado ou use o editor de texto do console para criar o esquema. Para obter mais informações sobre como configurar um esquema OpenAPI, consulte [Definir esquemas OpenAPI para os grupos de ação do agente do Amazon Bedrock](agents-api-schema.md)

1. Na seção **Invocação do grupo de ação**, configure o que o agente faz depois de prever a API ou a função que deve invocar e receber os parâmetros necessários. Escolha uma das seguintes opções:
   + **Crie rapidamente uma nova função do Lambda – *recomendado***: permita que o Amazon Bedrock crie uma função do Lambda básica para o agente, que possa ser modificada posteriormente no AWS Lambda para o seu caso de uso. O agente passará a API ou a função que ele prevê e os parâmetros, com base na sessão, para a função do Lambda.
   + **Selecione uma função do Lambda existente**: escolha uma [função do Lambda que você criou anteriormente](agents-lambda.md) no AWS Lambda e a versão da função a ser usada. O agente passará a API ou a função que ele prevê e os parâmetros, com base na sessão, para a função do Lambda.
**nota**  
[Anexe uma política baseada em recurso à função do Lambda](agents-permissions.md#agents-permissions-lambda) para permitir que a entidade principal do serviço Amazon Bedrock acesse a função do Lambda.
   + **Controle de retorno**: em vez de passar os parâmetros da API ou da função que prevê para a função do Lambda, o agente retorna o controle à aplicação transmitindo a ação que prevê que deve ser invocada, além dos parâmetros e das informações da ação que ele determinou com base sessão, na resposta de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html). Para obter mais informações, consulte [Retornar o controle ao desenvolvedor do agente enviando informações obtidas em uma resposta do InvokeAgent](agents-returncontrol.md).

1. Dependendo da sua escolha para o **Tipo do grupo de ação**, você verá uma das seguintes seções:
   + Se você selecionou **Definir com detalhes da função**, você terá uma seção de **Função do grupo de ação**. Para definir a função:

     1. Forneça um **Nome** e uma **Descrição** opcional (mas recomendada).

     1. Para solicitar a confirmação do usuário antes que a função seja invocada, selecione **Habilitado**. Solicitar confirmação antes de invocar a função pode impedir que a aplicação execute ações devido a injeções de prompt maliciosas.

     1. Na subseção **Parâmetros**, escolha **Adicionar parâmetro**. Defina os seguintes campos:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/agents-action-add.html)

     1. Para adicionar outro parâmetro, escolha **Adicionar parâmetro**.

     1. Para editar um campo em um parâmetro, selecione o campo e edite-o conforme necessário.

     1. Para excluir um parâmetro, 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)) na linha que contém o parâmetro.

     Se preferir definir a função usando um objeto JSON, escolha **Editor JSON** em vez de **Tabela**. O formato do objeto JSON é o seguinte (cada chave no objeto `parameters` é um nome de parâmetro que você fornece):

     ```
     {
         "name": "string",
         "description": "string",
         "parameters": [
             {
                 "name": "string",
                 "description": "string",
                 "required": "True" | "False",
                 "type": "string" | "number" | "integer" | "boolean" | "array"
             }
         ]
     }
     ```

     Para adicionar outra função ao grupo de ação definindo outro conjunto de parâmetros, escolha **Adicionar função de grupo de ação**.
   + Se tiver selecionado **Definir com esquemas de API**, você terá uma seção **Esquema do grupo de ação** com as seguintes opções:
     + Para usar um esquema OpenAPI preparado anteriormente com descrições, estruturas e parâmetros do grupo de ação, escolha **Selecionar esquema de API** e forneça um link para o URI do Amazon S3 do esquema.
     + Para definir o esquema OpenAPI com o editor de esquema em linha, selecione **Defina por meio do editor de esquema em linha**. É exibido um exemplo de esquema que você pode editar.

       1. Selecione o formato do esquema usando o menu suspenso ao lado de **Formato**.

       1. Para importar um esquema existente do S3 para edição, selecione **Importar esquema**, forneça o URI do S3 e selecione **Importar**.

       1. Para restaurar o esquema de volta ao exemplo original, selecione **Redefinir** e confirme a mensagem exibida selecionando **Redefinir** novamente.

1. Ao concluir a criação do grupo de ação, escolha **Adicionar**. Se tiver definido um esquema de API, um banner verde de sucesso será exibido se não houver nenhum problema. Se houver problemas na validação do esquema, um banner vermelho será exibido. Você tem as seguintes opções:
   + Percorra o esquema para ver as linhas em que há um erro ou aviso sobre formatação. Um X indica um erro de formatação, e um ponto de exclamação indica um aviso sobre formatação.
   + Selecione **Visualizar detalhes** no banner vermelho para ver uma lista de erros sobre o conteúdo do esquema de API.

1. Use **Preparar** para aplicar as alterações feitas no agente antes de testá-lo.

------
#### [ API ]

Para criar um grupo de ação, envie uma solicitação [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Forneça um [ esquema de função](agents-action-function.md) ou um [esquema OpenAPI](agents-api-schema.md).

A seguinte lista descreve os campos na solicitação:
+ Os seguintes campos são obrigatórios:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/agents-action-add.html)
+ Para definir os parâmetros do grupo de ação, especifique um dos campos a seguir (não é possível especificar os dois).  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/agents-action-add.html)

  O formato geral do `functionSchema` e do `apiSchema` é o seguinte:
  + Cada item na matriz `functionSchema` é um objeto [FunctionSchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FunctionSchema.html). Para cada função, especifique o seguinte: 
    + Forneça um `name` e uma `description` opcional (mas recomendada).
    + Opcionalmente, especifique `ENABLED` o campo `requireConfirmation` para solicitar a confirmação do usuário antes que a função seja invocada. Solicitar confirmação antes de invocar a função pode impedir que a aplicação execute ações devido a injeções de prompt maliciosas.
    + No objeto `parameters`, cada chave é um nome de parâmetro, associado a detalhes em um objeto [ParameterDetail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParameterDetail.html).

    A forma geral de `functionSchema` é a seguinte:

    ```
    "functionSchema": [
        {
            "name": "string",
            "description": "string",
            "requireConfirmation": ENABLED | DISABLED,
            "parameters": {
                "<string>": {
                    "type": "string" | number | integer | boolean | array,
                    "description": "string",
                    "required": boolean
                },
                ... // up to 5 parameters
            }
        },
        ... // up to 11 functions
    ]
    ```
  + O formato de [APISchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_APISchema.html) pode ser um dos seguintes:

    1. No formato a seguir, é possível colar diretamente o esquema OpenAPI formatado em JSON ou YAML como o valor.

       ```
       "apiSchema": {
           "payload": "string"
       }
       ```

    1. No formato a seguir, especifique o nome do bucket do Amazon S3 e a chave do objeto em que o esquema OpenAPI está armazenado.

       ```
       "apiSchema": {
           "s3": {
               "s3BucketName": "string",
               "s3ObjectKey": "string"
           }
       }
       ```
+ Para configurar como o grupo de ação trata a invocação do grupo de ação depois de obter parâmetros do usuário, especifique um dos campos a seguir dentro do campo `actionGroupExecutor`.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/agents-action-add.html)
+ Os seguintes campos são opcionais:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/agents-action-add.html)

  ```
      def create_agent_action_group(
              self, name, description, agent_id, agent_version, function_arn, api_schema
      ):
          """
          Creates an action group for an agent. An action group defines a set of actions that an
          agent should carry out for the customer.
  
          :param name: The name to give the action group.
          :param description: The description of the action group.
          :param agent_id: The unique identifier of the agent for which to create the action group.
          :param agent_version: The version of the agent for which to create the action group.
          :param function_arn: The ARN of the Lambda function containing the business logic that is
                               carried out upon invoking the action.
          :param api_schema: Contains the OpenAPI schema for the action group.
          :return: Details about the action group that was created.
          """
          try:
              response = self.client.create_agent_action_group(
                  actionGroupName=name,
                  description=description,
                  agentId=agent_id,
                  agentVersion=agent_version,
                  actionGroupExecutor={"lambda": function_arn},
                  apiSchema={"payload": api_schema},
              )
              agent_action_group = response["agentActionGroup"]
          except ClientError as e:
              logger.error(f"Error: Couldn't create agent action group. Here's why: {e}")
              raise
          else:
              return agent_action_group
  ```

  Para obter mais informações, consulte [Olá, agentes do Amazon Bedrock](bedrock-agent_example_bedrock-agent_Hello_section.md).

------