Obtenir la confirmation de l'utilisateur avant d'appeler la fonction de groupe d'actions - 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.

Obtenir la confirmation de l'utilisateur avant d'appeler la fonction de groupe d'actions

Vous pouvez protéger votre application contre les injections rapides malveillantes en demandant la confirmation aux utilisateurs de l'application avant d'invoquer la fonction de groupe d'actions. Lorsqu'un utilisateur final interagit avec votre application, Amazon Bedrock Agent détermine les API bases de connaissances à invoquer pour automatiser la tâche pour l'utilisateur. Les informations issues des API bases de connaissances peuvent contenir des données potentiellement dommageables. Entre chaque itération, si la réponse contient une instruction, l'agent s'y conformera. Si la réponse inclut des instructions pour que le modèle invoque des actions imprévues, l'agent se conformera à ces instructions. Pour garantir que certaines actions ne sont mises en œuvre qu'après le consentement explicite de l'utilisateur, nous vous recommandons de demander une confirmation à l'utilisateur final avant d'appeler la fonction.

Lorsque vous configurez votre groupe d'actions, vous pouvez choisir d'activer la confirmation utilisateur pour des actions spécifiques. Si la confirmation utilisateur est activée pour une action, l'agent répond par une question de confirmation demandant à l'utilisateur final de confirmer ou de refuser l'action. Vous pouvez activer la confirmation de l'utilisateur dans la console en utilisant leCLI, ou en utilisant leSDK.

Pour activer la confirmation d'une action par l'utilisateur, voirAjoutez un groupe d'action à votre agent dans Amazon Bedrock.

Comment fonctionne la confirmation utilisateur

La confirmation utilisateur est configurée pour une action dans le groupe d'actions par le développeur de l'agent. Si l'agent décide d'appeler cette action, les détails de la API fonction obtenus auprès de l'utilisateur et la confirmation utilisateur configurée par le développeur de l'agent seront renvoyés dans le invocationInputs champ du InvokeAgentréponse, à côtéinvocationType, et une réponse uniqueinvocationId.

L'agent invoque la API ou la fonction fournie dans leinvocationInputs. Si la confirmation utilisateur est activée pour la fonction ou leAPI, l'utilisateur se voit proposer une option CONFIRMou DENYl'action mentionnée dans la réponse.

Le résultat de l'invocation de la fonction par l'agent ou API est envoyé dans un autre InvokeAgentdemande, sessionState sur le terrain, de fournir un contexte à l'agent. Le paramètre de requête pour les InvokeAgent utilisationsreturnControlInvocationResults, qui est une liste de mappage apiResult ou d'functionResultobjets. Les functionResult objets apiResult et ont un champ supplémentaire deconfirmationState. Ce champ contient la réponse de confirmation de l'utilisateur.

Si la réponse de l'utilisateur l'est CONFIRM, la fonction ou API la réponse est implémentée.

Si la réponse de l'utilisateur l'est DENY, la fonction ou le contenu API de la réponse n'est pas implémentée.

Exemples de InvokeAgent réponse et de demande

Réponse

HTTP/1.1 200 x-amzn-bedrock-agent-content-type: contentType x-amz-bedrock-agent-session-id: sessionId Content-type: application/json { "chunk": { ... }, ... "returnControl": { "invocationId": "string", "invocationInputs": [ { ... } ] }, "trace": { "agentAliasId": "string", "agentId": "string", "agentVersion": "string", "sessionId": "string", "trace": { ... } }, }

Demande

POST /agents/agentId/agentAliases/agentAliasId/sessions/sessionId/text HTTP/1.1 Content-type: application/json { "enableTrace": boolean, "endSession": boolean, "inputText": "string", "sessionState": { "invocationId": "string", "promptSessionAttributes": { "string" : "string" }, "returnControlInvocationResults": [ { ... } ], "sessionAttributes": { "string" : "string" } } }