Come ottenere la conferma dell’utente prima di invocare la funzione del gruppo di operazioni - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come ottenere la conferma dell’utente prima di invocare la funzione del gruppo di operazioni

È possibile proteggere l’applicazione da iniezioni di prompt dannose richiedendo la conferma agli utenti dell’applicazione prima di invocare la funzione del gruppo di operazioni. Quando un utente finale interagisce con la tua applicazione, Agent per Amazon Bedrock individua l’API o le knowledge base da invocare per automatizzare l’attività per l’utente. Le informazioni dell’API o delle knowledge base potrebbero contenere dati potenzialmente dannosi. Tra un’iterazione e l’altra, l’agente rispetta eventuali istruzioni contenute nella risposta. Se la risposta include istruzioni per consentire al modello di invocare azioni non intenzionali, l’agente procederà di conseguenza. Per garantire che determinate azioni vengano implementate solo dopo il consenso esplicito dell’utente, consigliamo di richiedere la conferma all’utente finale prima di invocare la funzione.

Quando configuri il tuo gruppo di operazioni, puoi scegliere di abilitare la conferma dell’utente per azioni specifiche. Se per un’azione è abilitata la conferma dell’utente, l’agente risponde con una domanda di conferma chiedendo all’utente finale di confermare o rifiutare l’azione. Puoi abilitare la conferma dell’utente nella console, utilizzando la CLI o l’SDK.

Per abilitare la conferma dell’utente di un’azione, consulta Aggiunta di un gruppo di operazioni all’agente in Amazon Bedrock.

Come funziona la conferma dell’utente

La conferma dell’utente viene configurata per un’azione nel gruppo di operazioni dallo sviluppatore dell’agente. Se l’agente decide di richiedere tale azione, nel campo invocationInputs della risposta InvokeAgent verranno restituiti i dettagli dell’API o della funzione forniti dall’utente e la conferma dell’utente configurata dallo sviluppatore dell’agente, insieme a invocationType e a un messaggio univoco invocationId.

L’agente invoca l’API o la funzione fornita negli invocationInputs. Se per la funzione o l’API è abilitata la conferma dell’utente, all’utente vengono presentate due opzioni, CONFERMA o NEGA, per scegliere l’azione menzionata nella risposta.

I risultati dell’invocazione della funzione o dell’API da parte dell’agente vengono inviati in un’altra richiesta InvokeAgent nel campo sessionState, per fornire un contesto all’agente. Il parametro di richiesta per InvokeAgent utilizza returnControlInvocationResults, ovvero un elenco di mappature agli oggetti apiResult o functionResult. Gli oggetti apiResult e functionResult hanno un campo di confirmationState aggiuntivo, che contiene la risposta della conferma dell’utente.

Se la risposta dell’utente è CONFERMA, nella risposta viene implementata la funzione o l’API.

Se la risposta dell’utente è NEGA, la funzione o l’API non viene implementata nella risposta.

Esempi di risposta e richiesta di InvokeAgent

Risposta

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": { ... } }, }

Richiesta

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