

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Agregación de un grupo de acciones al agente en Amazon Bedrock
<a name="agents-action-add"></a>

Tras configurar el esquema de OpenAPI y la función de Lambda para el grupo de acciones, puede crear el grupo de acciones. Elija la pestaña del método que prefiera y siga estos pasos:

**nota**  
Si usa Anthropic Claude 3.5 Sonnet, asegúrese de que el nombre de la herramienta, que tendrá el formato `httpVerb__actionGroupName__apiName`, siga el formato de nombre de la herramienta Anthropic `^[a-zA-Z0-9_-]{1,64}$`. Su actionGroupName y apiName no deben contener guiones bajos dobles `'__'`.

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

Al [crear un agente](agents-create.md), puede añadir grupos de acciones al borrador de trabajo.

Una vez creado un agente, puede añadirle grupos de acciones siguiendo estos pasos:

**Adición de un grupo de acciones a un agente**

1. Inicie sesión en la Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola de Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación de la izquierda, seleccione **Agentes**. A continuación, elija un agente en la sección **Agentes**.

1. Elija **Editar en el Creador de agentes**.

1. Seleccione **Agregar** en la sección **Grupos de acciones**.

1. (Opcional) En la sección **Detalles del grupo de acciones**, cambie el **nombre** generado automáticamente y proporcione una **descripción** opcional para el grupo de acciones.

1. En la sección **Tipo de grupo de acciones**, seleccione uno de los siguientes métodos para definir los parámetros que el agente puede obtener de los usuarios para ayudar a llevar a cabo las acciones:

   1. **Definir con detalles de función**: defina los parámetros que el agente debe obtener del usuario para llevar a cabo las acciones. Para obtener más información sobre cómo añadir funciones, consulte [Definición de los detalles de las funciones de los grupos de acciones de su agente en Amazon Bedrock](agents-action-function.md).

   1. **Definir con esquemas de API**: defina las operaciones de la API que el agente puede invocar y los parámetros. Utilice un esquema de OpenAPI que haya creado o utilice el editor de texto de la consola para crear el esquema. Para obtener más información sobre cómo configurar un esquema de OpenAPI, consulte [Definición de los esquemas de OpenAPI para los grupos de acciones del agente en Amazon Bedrock](agents-api-schema.md).

1. En la sección **invocación de un grupo de acciones**, se configura lo que hace el agente después de predecir la API o función que debe invocar y recibir los parámetros que necesita. Seleccione una de las siguientes opciones:
   + **Creación rápida de una nueva función de Lambda (*opción recomendada***): deje que Amazon Bedrock cree una función de Lambda básica para su agente que podrá modificar posteriormente en AWS Lambda según su caso de uso. El agente pasará la API o función que prediga y los parámetros, en función de la sesión, a la función de Lambda.
   + **Seleccionar una función de Lambda existente**: elija una [función de Lambda que haya creado anteriormente](agents-lambda.md) en AWS Lambda y la versión de la función que desee utilizar. El agente pasará la API o función que prediga y los parámetros, en función de la sesión, a la función de Lambda.
**nota**  
Para permitir que la entidad principal del servicio de Amazon Bedrock acceda a la función de Lambda, [asocie una política basada en recursos a la función de Lambda](agents-permissions.md#agents-permissions-lambda) para que la entidad principal del servicio de Amazon Bedrock acceda a la función de Lambda.
   + **Devolver control**: en lugar de pasar los parámetros de la API o función que predice a la función de Lambda, el agente devuelve el control a la aplicación pasando la acción que predice que se debería invocar, además de los parámetros y la información de la acción que determinó a partir de la sesión, en la respuesta 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 obtener más información, consulte [Devolución del control al desarrollador del agente al enviar la información obtenida en una respuesta de InvokeAgent](agents-returncontrol.md).

1. Según el **Tipo de grupo de acciones** que elija, verá una de las siguientes secciones:
   + Si ha seleccionado **Definir con detalles de función**, tendrá una sección **Función del grupo de acciones**. Haga lo siguiente para definir la función:

     1. Proporcione un **nombre** y también se recomienda incluir una **descripción** (opcional).

     1. Para solicitar la confirmación del usuario antes de invocar la función, seleccione **Activado**. Solicitar una confirmación antes de invocar la función puede impedir que su aplicación tome medidas debido a inyecciones de peticiones maliciosas.

     1. En la subsección **Parámetros**, elija **Agregar parámetro**. Defina los campos siguientes:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/agents-action-add.html)

     1. Para agregar otro parámetro, seleccione **Agregar parámetro**.

     1. Para editar un campo de un parámetro, selecciónelo y edítelo según sea necesario.

     1. Para eliminar un parámetro, seleccione el icono de eliminación (![\[Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/trash.png)) en la fila que contiene el parámetro.

     Si prefiere definir la función mediante un objeto JSON, elija el **editor JSON** en lugar de **Tabla**. El formato del objeto JSON es el siguiente (cada clave del objeto `parameters` es un nombre de parámetro que usted proporciona):

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

     Para añadir otra función a su grupo de acciones definiendo otro conjunto de parámetros, seleccione **Agregar función de grupo de acciones**.
   + Si ha seleccionado **Definir con esquemas de API**, tendrá una sección **Esquema de grupos de acciones** con las siguientes opciones:
     + Para usar un esquema de OpenAPI que ha preparado previamente con descripciones, estructuras y parámetros para el grupo de acciones, elija **Seleccione el esquema de la API** y proporcione un enlace al URI de Amazon S3 del esquema.
     + Para definir el esquema de OpenAPI con el editor de esquemas en línea, seleccione **Definir mediante un editor de esquemas en línea**. Aparece un esquema de ejemplo que puede editar.

       1. Seleccione el formato del esquema mediante el menú desplegable situado junto a **Formato**.

       1. Para importar un esquema existente de S3 para editarlo, seleccione **Importar esquema**, proporcione el URI de S3 y seleccione **Importar**.

       1. Para restaurar el esquema al esquema de ejemplo original, seleccione **Restablecer** y, a continuación, confirme el mensaje que aparece seleccionando **Restablecer** nuevamente.

1. Cuando haya terminado de crear el grupo de acciones, elija **Agregar**. Si ha definido un esquema de API, aparece un banner verde de confirmación si no hay ningún problema. Si hay problemas al validar el esquema, aparece un banner rojo. Dispone de las opciones siguientes:
   + Desplácese por el esquema para ver las líneas en las que existe un error o una advertencia sobre el formato. Una X indica un error de formato, mientras que un signo de exclamación indica una advertencia sobre el formato.
   + Seleccione **Ver detalles** en el banner rojo para ver una lista de errores relacionados con el contenido del esquema de la API.

1. No olvide seleccionar **Preparar** para aplicar los cambios que haya realizado en el agente antes de probarlo.

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

Para crear un grupo de acciones, envíe una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Debe proporcionar un [esquema de función](agents-action-function.md) o un [esquema de OpenAPI](agents-api-schema.md).

En la siguiente lista se describen los campos de la solicitud:
+ Los siguientes campos son obligatorios:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/agents-action-add.html)
+ Para definir los parámetros del grupo de acciones, debe especificar uno de los siguientes campos (no puede especificar ambos).  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/agents-action-add.html)

  A continuación se muestra el formato general del `functionSchema` y `apiSchema`:
  + Cada elemento de la matriz `functionSchema` es un objeto [FunctionSchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FunctionSchema.html). Para cada función, especifique lo siguiente: 
    + Proporcione un `name`. También se recomienda incluir una `description` (opcional).
    + Si lo desea, especifique `ENABLED` para el campo `requireConfirmation` para solicitar la confirmación del usuario antes de invocar la función. Solicitar una confirmación antes de invocar la función puede impedir que su aplicación tome medidas debido a inyecciones de peticiones maliciosas.
    + En el objeto `parameters`, cada clave es el nombre de un parámetro, asignado a sus detalles en un objeto [ParameterDetail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParameterDetail.html).

    La forma general del `functionSchema` es la siguiente:

    ```
    "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
    ]
    ```
  + El [APISchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_APISchema.html) puede tener uno de los siguientes formatos:

    1. Para el siguiente formato, puede pegar directamente el esquema de OpenAPI con formato JSON o YAML como valor.

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

    1. En el siguiente formato, especifique el nombre del bucket de Amazon S3 y la clave de objeto en los que se almacena el esquema de OpenAPI.

       ```
       "apiSchema": {
           "s3": {
               "s3BucketName": "string",
               "s3ObjectKey": "string"
           }
       }
       ```
+ Para configurar la forma en que el grupo de acciones gestiona la invocación del grupo de acciones tras obtener los parámetros del usuario, debe especificar uno de los siguientes campos dentro del campo `actionGroupExecutor`.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/agents-action-add.html)
+ Los siguientes campos son opcionales:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/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 obtener más información, consulte [Introducción a Agentes de Amazon Bedrock](bedrock-agent_example_bedrock-agent_Hello_section.md).

------