

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

# Aggiunta di un gruppo di operazioni all’agente in Amazon Bedrock
<a name="agents-action-add"></a>

Dopo aver impostato lo schema OpenAPI e la funzione Lambda per il gruppo di operazioni, è possibile creare il gruppo di operazioni. Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

**Nota**  
Se stai utilizzando Anthropic Claude 3.5 Sonnet, assicurati che il nome dello strumento visualizzato nel modulo `httpVerb__actionGroupName__apiName` segua il formato del nome dello strumento Anthropic `^[a-zA-Z0-9_-]{1,64}$`. L'azione GroupName e il nome dell'API non devono contenere caratteri di sottolineatura doppi. `'__'`

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

Quando [crei un agente](agents-create.md), puoi aggiungere gruppi di azioni alla bozza di lavoro.

Una volta creato un agente, è possibile aggiungervi gruppi di operazioni attenendosi alle seguenti fasi:

**Per aggiungere un gruppo di operazioni a un agente**

1. Accedi a Console di gestione AWS con un'identità IAM che dispone delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock all'indirizzo [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Seleziona **Agenti** nel riquadro di navigazione a sinistra. Quindi, scegli un agente nella sezione **Agenti**.

1. Scegli **Modifica in Agente Builder**.

1. Nella sezione **Gruppi di operazioni**, seleziona **Aggiungi**.

1. (Facoltativo) Nella sezione **Dettagli del gruppo di operazioni**, modifica il **nome** generato automaticamente e fornisci una **descrizione** facoltativa per il tuo gruppo di operazioni.

1. Nella sezione **Tipo di gruppo di operazioni**, seleziona uno dei seguenti metodi per definire i parametri che l’agente può ottenere dagli utenti per facilitare l’esecuzione delle azioni:

   1. **Definisci con i dettagli della funzione**: definisci i parametri che il tuo agente deve richiedere all'utente per eseguire le azioni. Per ulteriori informazioni sull’aggiunta di funzioni, consulta [Definizione dei dettagli della funzione per i gruppi di operazioni dell’agente in Amazon Bedrock](agents-action-function.md).

   1. **Definisci con schemi API**: definisci le operazioni API che l’agente può invocare e i relativi parametri. Utilizza uno schema OpenAPI che hai creato o creane uno con l’editor di testo della console. Per ulteriori informazioni sull’impostazione di uno schema OpenAPI, consulta [Definire OpenAPI schemi per i gruppi di azioni del tuo agente in Amazon Bedrock](agents-api-schema.md).

1. Nella sezione **Invocazione di un gruppo di operazioni**, imposta ciò che fa l’agente dopo aver previsto l’API o la funzione da invocare e aver ricevuto i parametri necessari. Scegli una delle seguenti opzioni:
   + **Creazione rapida di una nuova funzione Lambda (scelta *consigliata*)**: consenti ad Amazon Bedrock di creare una funzione Lambda di base per il tuo agente che potrai modificare successivamente in AWS Lambda base al tuo caso d'uso. L’agente passerà alla funzione Lambda l’API o la funzione che ha previsto e i relativi parametri, in base alla sessione.
   + **Seleziona una funzione Lambda esistente**: scegli una [funzione Lambda creata in precedenza](agents-lambda.md) AWS Lambda e la versione della funzione da utilizzare. L’agente passerà alla funzione Lambda l’API o la funzione che ha previsto e i relativi parametri, in base alla sessione.
**Nota**  
Per consentire al principale del servizio di Amazon Bedrock di accedere alla funzione Lambda, [collega alla funzione Lambda una policy basata sulle risorse](agents-permissions.md#agents-permissions-lambda).
   + **Controllo del ritorno**: anziché passare alla funzione Lambda i parametri per l’API o la funzione che ha previsto, l’agente restituisce il controllo all’applicazione passando nella risposta [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) l’azione che prevede debba essere invocata, oltre ai parametri e alle informazioni per l’azione che ha determinato dalla sessione. Per ulteriori informazioni, consulta [Restituisci il controllo allo sviluppatore dell'agente inviando le informazioni richieste in una InvokeAgent risposta](agents-returncontrol.md).

1. A seconda della scelta del **Tipo di gruppo di operazioni**, verrà visualizzata una delle seguenti sezioni:
   + Se hai selezionato **Definisci con i dettagli della funzione**, verrà visualizzata una sezione **Funzione del gruppo di operazioni**. Per definire la funzione, effettua le seguenti operazioni:

     1. Fornisci un **Nome** e una **Descrizione** facoltativa (ma consigliata).

     1. Per richiedere la conferma all’utente prima che la funzione venga invocata, seleziona **Abilitata**. Richiedere la conferma prima di invocare la funzione può impedire all’applicazione di intraprendere azioni causate da iniezioni di prompt dannose.

     1. Nella sottosezione **Parametri**, scegli **Aggiungi parametro**. Definisci i campi seguenti:  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/agents-action-add.html)

     1. Per aggiungere un altro parametro, scegli **Aggiungi parametro**.

     1. Per modificare un campo in un parametro, selezionalo e apporta le modifiche necessarie.

     1. Per eliminare un parametro, scegli l’icona di eliminazione (![Trash can icon representing a delete action.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/icons/trash.png)) nella riga contenente il parametro.

     Se preferisci definire la funzione utilizzando un oggetto JSON, scegli **Editor JSON** anziché **Tabella**. Il formato dell’oggetto JSON è il seguente (ogni chiave nell’oggetto `parameters` è un nome di parametro fornito dall’utente):

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

     Per aggiungere un’ulteriore funzione al gruppo di operazioni definendo un altro set di parametri, scegli **Aggiungi la funzione del gruppo di operazioni**.
   + Se hai selezionato **Definisci con schemi API**, verrà visualizzata una sezione **Schema del gruppo di operazioni** con le seguenti opzioni:
     + Per utilizzare uno schema OpenAPI precedentemente preparato con descrizioni, strutture e parametri delle API per il gruppo di operazioni, scegli **Seleziona lo schema API** e fornisci un link all’URI Amazon S3 dello schema.
     + Per definire lo schema OpenAPI con l’editor di schemi in linea, seleziona **Definizione tramite editor di schemi in linea**. Viene visualizzato uno schema di esempio che puoi modificare.

       1. Seleziona il formato per lo schema utilizzando il menu a discesa accanto a **Formato**.

       1. Per importare uno schema esistente da S3 per modificarlo, seleziona **Importa schema**, fornisci l'URI S3 e seleziona **Importa**.

       1. Per ripristinare lo schema allo schema di esempio originale, seleziona **Reimposta**, quindi conferma il messaggio visualizzato selezionando nuovamente **Reimposta**.

1. Una volta completata la creazione del gruppo di operazioni, scegli **Aggiungi**. Se hai definito uno schema API e non si sono verificati problemi, viene visualizzato un banner verde che notifica la riuscita dell’operazione. In caso di problemi durante la convalida dello schema, viene visualizzato un banner rosso. Sono disponibili le seguenti opzioni:
   + Scorri lo schema per visualizzare le righe in cui è presente un errore o un avviso sulla formattazione. Una X indica un errore di formattazione, mentre un punto esclamativo indica un avviso sulla formattazione.
   + Seleziona **Visualizza dettagli** nel banner rosso per visualizzare un elenco di errori relativi al contenuto dello schema API.

1. **Prepara** l’agente per l’applicazione delle modifiche apportate prima di testarlo.

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

Per creare un gruppo di operazioni, invia una richiesta [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 [endpoint in fase di compilazione di Agent per Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). È necessario fornire uno [schema di funzioni](agents-action-function.md) o uno [schema OpenAPI](agents-api-schema.md).

Nell’elenco riportato di seguito sono descritti i campi presenti nella richiesta.
+ I seguenti campi sono obbligatori:  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/agents-action-add.html)
+ Per definire i parametri per il gruppo di operazioni, è necessario specificare uno dei seguenti campi (non è possibile specificarli entrambi).  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/agents-action-add.html)

  Di seguito viene illustrato il formato generale di `functionSchema` e `apiSchema`:
  + Ogni elemento dell'`functionSchema`array è un [FunctionSchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FunctionSchema.html)oggetto. Per ogni evento, specifica quanto segue: 
    + Fornisci un `name` e una `description` facoltativa (ma consigliata).
    + Facoltativamente, specifica `ENABLED` per il campo `requireConfirmation` per richiedere la conferma all’utente prima che la funzione venga invocata. Richiedere la conferma prima di invocare la funzione può impedire all’applicazione di intraprendere azioni causate da iniezioni di prompt dannose.
    + Nell'`parameters`oggetto, ogni chiave è un nome di parametro, mappato ai dettagli relativi all'[ParameterDetail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParameterDetail.html)oggetto.

    Il formato generale di `functionSchema` è il seguente:

    ```
    "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
    ]
    ```
  + [APISchema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_APISchema.html) può avere uno dei seguenti formati:

    1. Per il formato seguente, puoi incollare direttamente il JSON o YAML-formatted OpenAPI lo schema come valore.

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

    1. Per quanto riguarda il formato seguente, specifica il nome del bucket Amazon S3 e la chiave oggetto in cui è archiviato lo schema OpenAPI.

       ```
       "apiSchema": {
           "s3": {
               "s3BucketName": "string",
               "s3ObjectKey": "string"
           }
       }
       ```
+ Per configurare il modo in cui il gruppo di azioni gestisce la propria invocazione dopo aver ottenuto i parametri dall’utente, all’interno del campo `actionGroupExecutor` devi specificare uno dei campi indicati di seguito.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/agents-action-add.html)
+ I seguenti campi sono facoltativi:  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/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
  ```

  Per ulteriori informazioni, consulta [Agent per Amazon Bedrock](bedrock-agent_example_bedrock-agent_Hello_section.md).

------