Ajout d’un groupe d’actions à votre agent dans Amazon Bedrock - Amazon Bedrock

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

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

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

  3. Choisissez Modifier dans le créateur d’agents.

  4. Dans la section Groupes d’actions, choisissez Ajouter.

  5. (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.

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

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

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

  8. 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).

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

      3. Dans la sous-section Paramètres, choisissez Ajouter un paramètre. Définissez les champs suivants :

        Champ Description
        Nom Attribuez un nom au paramètre.
        Description (facultative) Décrivez le paramètre.
        Type Indiquez le type de données du paramètre.
        Obligatoire Spécifiez si l’agent a besoin du paramètre de l’utilisateur.
      4. Pour ajouter un autre paramètre, choisissez Ajouter un paramètre.

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

      6. 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. ) 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.

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

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

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

  10. 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 CreateAgentActionGroup avec un point de terminaison de développement des agents Amazon Bedrock. Vous devez fournir un schéma de fonction ou un schéma OpenAPI.

La liste suivante décrit les champs figurant dans la demande :

  • Les champs suivants sont obligatoires :

    Champ Description abrégée
    agentId ID de l’agent auquel appartient le groupe d’actions.
    agentVersion Version de l’agent auquel appartient le groupe d’actions.
    actionGroupName Nom du groupe d’actions.
  • 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).

    Champ Description abrégée
    functionSchema Définit les paramètres du groupe d’actions que l’agent obtient de l’utilisateur. Pour plus d’informations, consultez Définition des détails des fonctions correspondant aux groupes d’actions de l’agent dans Amazon Bedrock.
    apiSchema Spécifie le schéma OpenAPI qui définit les paramètres du groupe d’actions ou des liens vers un objet S3 le contenant. Pour plus d’informations, consultez Définition de schémas OpenAPI pour les groupes d’actions de l’agent dans Amazon Bedrock.

    Voici le format général de functionSchema et de apiSchema :

    • Chaque élément du tableau functionSchema est un objet FunctionSchema. 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.

      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 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" }
      2. 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.

    Champ Description abrégée
    lambda Pour envoyer les paramètres à une fonction Lambda afin de gérer les résultats de l’invocation du groupe d’actions, spécifiez l’Amazon Resource Name (ARN) de la fonction Lambda. Pour plus d’informations, consultez Configuration de fonctions Lambda pour envoyer les informations qu’un agent Amazon Bedrock obtient de l’utilisateur.
    customControl Pour ne pas utiliser une fonction Lambda et renvoyer le groupe d’actions prévu, en plus des paramètres et des informations nécessaires, spécifiez RETURN_CONTROL dans la réponse InvokeAgent. 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.
  • Les champs suivants sont facultatifs :

    Champ Description abrégée
    parentActionGroupSignature Spécifiez AMAZON.UserInput pour autoriser l’agent à demander à nouveau à l’utilisateur des informations supplémentaires s’il ne dispose pas de suffisamment d’informations pour compléter un autre groupe d’actions. Vous devez laisser les champs description, apiSchema et actionGroupExecutor vides si vous spécifiez ce champ.
    description Description du groupe d’actions.
    actionGroupState Indiquez si l’agent est autorisé ou non à invoquer le groupe d’actions.
    clientToken Identifiant pour empêcher les demandes d’être dupliquées.
    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.