

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Ajout d’un groupe d’actions à votre agent dans Amazon Bedrock
<a name="agents-action-add"></a>

Après avoir configuré le schéma OpenAPI et la fonction Lambda pour votre groupe d’actions, vous pouvez créer le groupe d’actions. Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

**Note**  
Si vous utilisez Anthropic Claude 3.5 Sonnet, assurez-vous que le nom de votre outil, qui sera de la forme `httpVerb__actionGroupName__apiName`, suit le format `^[a-zA-Z0-9_-]{1,64}$` du nom de l’outil Anthropic. Vos actionGroupName et apiName ne doivent pas contenir de traits de soulignement doubles `'__'`.

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

Lorsque vous [créez un agent](agents-create.md), vous pouvez ajouter des groupes d’action au brouillon.

Après avoir créé un agent, vous pouvez y ajouter des groupes d’actions en procédant comme suit :

**Pour ajouter un groupe d’actions à un agent**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Agents**. Choisissez ensuite un agent dans la section **Agents**.

1. Choisissez **Modifier dans le créateur d’agents**.

1. Dans la section **Groupes d’actions**, choisissez **Ajouter**.

1. (Facultatif) Dans la section **Détails du groupe d’actions**, modifiez le **nom** généré automatiquement et fournissez une **description** facultative pour votre groupe d’actions.

1. Dans la section **Type de groupe d’actions**, sélectionnez l’une des méthodes suivantes pour définir les paramètres que l’agent peut obtenir des utilisateurs pour effectuer des actions :

   1. **Définir avec les détails de la fonction** : définissez les paramètres que votre agent doit obtenir de l’utilisateur afin d’effectuer les actions. Pour plus d’informations sur l’ajout de fonctions, consultez [Définition des détails des fonctions correspondant aux groupes d’actions de l’agent dans Amazon Bedrock](agents-action-function.md).

   1. **Définir à l’aide de schémas d’API** : définissez les opérations d’API que l’agent peut invoquer ainsi que les paramètres. Utilisez un schéma OpenAPI que vous avez créé ou utilisez l’éditeur de texte de console pour créer le schéma. Pour plus d’informations sur la configuration d’un schéma OpenAPI, consultez [Définition de schémas OpenAPI pour les groupes d’actions de l’agent dans Amazon Bedrock](agents-api-schema.md)

1. Dans la section **Invocation du groupe d’actions**, vous configurez ce que fait l’agent une fois qu’il a prédit l’API ou la fonction qu’il doit invoquer et qu’il a reçu les paramètres dont il a besoin. Choisissez l’une des options suivantes:
   + **Création rapide d’une nouvelle fonction Lambda – *recommandé*** : laissez Amazon Bedrock créer une fonction Lambda de base pour votre agent, que vous pourrez ensuite modifier dans AWS Lambda en fonction de votre cas d’utilisation. L’agent transmettra l’API ou la fonction qu’il prédit et les paramètres, en fonction de la session, à la fonction Lambda.
   + **Sélectionner une fonction Lambda existante** : choisissez une [fonction Lambda que vous avez créée précédemment](agents-lambda.md) dans AWS Lambda et la version de la fonction à utiliser. L’agent transmettra l’API ou la fonction qu’il prédit et les paramètres, en fonction de la session, à la fonction Lambda.
**Note**  
Pour autoriser le principal de service Amazon Bedrock à accéder à la fonction Lambda, [associez une politique basée sur une ressource à la fonction Lambda](agents-permissions.md#agents-permissions-lambda) afin d’autoriser le principal de service Amazon Bedrock à accéder à la fonction Lambda.
   + **Contrôle des retours** : plutôt que de transmettre les paramètres de l’API ou de la fonction qu’il prédit à la fonction Lambda, l’agent redonne le contrôle à votre application en transmettant dans la réponse l’action qui, selon ses prévisions, devrait être invoquée, en plus des paramètres et des informations relatifs à l’action qu’il a déterminés à partir de la session, dans la réponse [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). Pour plus d’informations, consultez [Redonner le contrôle au développeur de l’agent en envoyant les informations obtenues dans une réponse InvokeAgent](agents-returncontrol.md).

1. En fonction du **type de groupe d’action** que vous avez choisi, vous verrez l’une des sections suivantes :
   + Si vous avez sélectionné **Définir avec les détails de la fonction**, vous aurez une section sur les **fonctions du groupe d’actions**. Procédez comme suit pour définir la fonction :

     1. Indiquez un **nom** et une **description** facultative (mais recommandée).

     1. Pour demander une confirmation à l’utilisateur avant que la fonction ne soit invoquée, sélectionnez **Activé**. La demande de confirmation avant d’invoquer la fonction permet d’éviter que votre application n’effectue des actions en raison d’injections d’invite malveillantes.

     1. Dans la sous-section **Paramètres**, choisissez **Ajouter un paramètre**. Définissez les champs suivants :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/agents-action-add.html)

     1. Pour ajouter un autre paramètre, choisissez **Ajouter un paramètre**.

     1. Pour modifier un champ dans un paramètre, sélectionnez-le et modifiez-le si nécessaire.

     1. Pour supprimer un paramètre, cliquez sur l’icône de suppression (![\[Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/trash.png)) dans la ligne contenant le paramètre.

     Si vous préférez définir la fonction à l’aide d’un objet JSON, choisissez l’**éditeur JSON** au lieu de la **Table**. Le format de l’objet JSON est le suivant (chaque clé de l’objet `parameters` est un nom de paramètre que vous fournissez) :

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

     Pour ajouter une autre fonction à votre groupe d’actions en définissant un autre jeu de paramètres, choisissez **Ajouter une fonction de groupe d’actions**.
   + Si vous avez sélectionné **Définir avec des schémas d’API**, vous aurez accès à une section **Schéma de groupe d’actions** avec les options suivantes :
     + Pour utiliser un schéma OpenAPI que vous avez préalablement préparé à l’aide de descriptions, de structures et de paramètres d’API pour le groupe d’actions, sélectionnez **Sélectionner un schéma d’API** et fournissez un lien à l’URI Amazon S3 du schéma.
     + Pour définir le schéma OpenAPI avec l’éditeur de schéma en ligne, sélectionnez **Définir via l’éditeur de schéma en ligne**. Un exemple de schéma que vous pouvez modifier apparaît.

       1. Sélectionnez le format du schéma à l’aide du menu déroulant situé à côté de **Format**.

       1. Pour importer un schéma existant depuis S3 afin de le modifier, sélectionnez **Importer le schéma**, fournissez l’URI S3, puis sélectionnez **Importer**.

       1. Pour rétablir le schéma d’origine, sélectionnez **Réinitialiser**, puis confirmez le message qui s’affiche en sélectionnant à nouveau **Réinitialiser**.

1. Lorsque vous avez terminé de créer le groupe d’actions, choisissez **Ajouter**. Si vous avez défini un schéma d’API, une bannière verte de réussite apparaît s’il n’y a aucun problème. En cas de problème lors de la validation du schéma, une bannière rouge s’affiche. Vous avez les options suivantes :
   + Parcourez le schéma pour voir les lignes contenant une erreur ou un avertissement concernant le format. Un X indique une erreur de format, tandis qu’un point d’exclamation indique un avertissement concernant le format.
   + Sélectionnez **Afficher les détails** dans la bannière rouge pour afficher la liste des erreurs relatives au contenu du schéma d’API.

1. Assurez-vous de sélectionner **Préparer** pour appliquer les modifications que vous avez apportées à l’agent avant de le tester.

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

Pour créer un groupe d’action, envoyez une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html) avec un [point de terminaison de développement des agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Vous devez fournir un [schéma de fonction](agents-action-function.md) ou un [schéma OpenAPI](agents-api-schema.md).

La liste suivante décrit les champs figurant dans la demande :
+ Les champs suivants sont obligatoires :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/agents-action-add.html)
+ Pour définir les paramètres du groupe d’actions, vous devez spécifier l’un des champs suivants (vous ne pouvez pas spécifier les deux).  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/agents-action-add.html)

  Voici le format général de `functionSchema` et de `apiSchema` :
  + Chaque élément du tableau `functionSchema` est un objet [FunctionSchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FunctionSchema.html). Pour chaque fonction, spécifiez les éléments suivants : 
    + Indiquez un `name` et une `description` facultative (mais recommandée).
    + Spécifiez éventuellement le champ `ENABLED` pour `requireConfirmation` afin de demander une confirmation à l’utilisateur avant que la fonction ne soit invoquée. La demande de confirmation avant d’invoquer la fonction permet d’éviter que votre application n’effectue des actions en raison d’injections d’invite malveillantes.
    + Dans l’objet `parameters`, chaque clé est un nom de paramètre, mappé aux détails le concernant dans un objet [ParameterDetail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParameterDetail.html).

    Voici le format général du `functionSchema` :

    ```
    "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
    ]
    ```
  + L’[APISchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_APISchema.html) peut avoir l’un des formats suivants :

    1. Pour le format suivant, vous pouvez directement coller le schéma OpenAPI au format JSON ou YAML en tant que valeur.

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

    1. Pour le format suivant, spécifiez le nom du compartiment Amazon S3 et la clé d’objet dans lesquels le schéma OpenAPI est stocké.

       ```
       "apiSchema": {
           "s3": {
               "s3BucketName": "string",
               "s3ObjectKey": "string"
           }
       }
       ```
+ Pour configurer la manière dont le groupe d’actions gère l’invocation du groupe d’actions après avoir obtenu des paramètres auprès de l’utilisateur, vous devez spécifier l’un des champs suivants dans le champ `actionGroupExecutor`.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/agents-action-add.html)
+ Les champs suivants sont facultatifs :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/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
  ```

  Pour plus d’informations, consultez [Bonjour agents Amazon Bedrock](bedrock-agent_example_bedrock-agent_Hello_section.md).

------