

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

# Richiama e personalizza i modelli Amazon Bedrock con Step Functions
<a name="connect-bedrock"></a>

Puoi integrare Step Functions con Amazon Bedrock per richiamare un modello Amazon Bedrock specifico e creare un processo di ottimizzazione per personalizzare un modello. Questa pagina elenca le API Amazon Bedrock ottimizzate e fornisce uno `Task` stato di esempio per estrarre il risultato di una chiamata del modello.

Per ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere [Integrazione dei servizi ](integrate-services.md) e[Passaggio di parametri a un'API di servizio in Step Functions](connect-parameters.md).

**Suggerimento**  
Per implementare un flusso di lavoro di esempio che si integra conAmazon Bedrock, consulta. [Esegui il concatenamento dei prompt AI con Amazon Bedrock](sample-bedrock-prompt-chaining.md)

## Amazon Bedrock API di integrazione dei servizi
<a name="connect-bedrock-custom-apis"></a>

Per l'integrazione AWS Step Functions conAmazon Bedrock, puoi utilizzare le seguenti API. Queste API sono simili alle Amazon Bedrock API corrispondenti, tranne per il fatto che *InvokeModel*hanno campi di richiesta aggiuntivi.

**API Amazon Bedrock - [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)**  
Crea un processo di messa a punto per personalizzare un modello base. Puoi richiamare l'API di integrazione Step Functions con i modelli di integrazione **CreateModelCustomizationJob**for *Request Response* o **CreateModelCustomizationJob.sync***Run a Job (.sync)*. Non ci sono differenze nei campi per le chiamate API.

**API Amazon Bedrock - [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)**  
Richiama il Amazon Bedrock modello specificato per eseguire l'inferenza utilizzando l'input fornito nel corpo della richiesta. Si utilizza `InvokeModel` per eseguire l'inferenza per modelli di testo, modelli di immagini e modelli di incorporamento.

Il corpo della richiesta dell'API di integrazione del Amazon Bedrock servizio *InvokeModel*include i seguenti parametri aggiuntivi.
+ `Body`— specifica i dati di input nel formato specificato nell'intestazione della richiesta di tipo di contenuto. `Body`contiene parametri specifici per il modello di destinazione.

  Se si utilizza l'`InvokeModel`API, è necessario specificare il `Body` parametro. Step Functionsnon convalida l'input fornito. `Body`

  Quando si specifica l'`Body`utilizzo dell'integrazione Amazon Bedrock ottimizzata, è possibile specificare un payload fino a 256 KB. Se il tuo payload supera i 256 KiB, ti consigliamo di utilizzarlo. `Input`
+ `Input`— Specifica la fonte da cui recuperare i dati di input. Questo campo opzionale è specifico per l'integrazione Amazon Bedrock ottimizzata con. Step Functions In questo campo è possibile specificare un`S3Uri`.

  È possibile specificare `Body` nei Parametri o`Input`, ma non entrambi.

  Quando si specifica `Input` senza specificare`ContentType`, il tipo di contenuto dell'origine dati di input diventa il valore per`ContentType`.
+ `Output`— Speciifica la destinazione in cui viene scritta la risposta API. Questo campo opzionale è specifico per l'integrazione Amazon Bedrock ottimizzata conStep Functions. In questo campo è possibile specificare un`S3Uri`.

  Se si specifica questo campo, il corpo della risposta dell'API viene sostituito con un riferimento alla Amazon S3 posizione dell'output originale.

L'esempio seguente mostra la sintassi di InvokeModel API for Amazon Bedrock integration.

```
{
    "ModelId": String,  // required
    "Accept": String,  // default: application/json
    "ContentType": String,  // default: application/json
    "Input": {  // not from Bedrock API
        "S3Uri": String
    },  
    "Output": {  // not from Bedrock API
        "S3Uri": String
    } 
}
```

**Suggerimento**  
[Per informazioni sulle API Amazon Bedrock aggiuntive disponibili nei tuoi flussi di lavoro, consulta AWS le integrazioni SDK.](supported-services-awssdk.md)

## Definizione dello stato dell'attività per Amazon Bedrock integrazione
<a name="connect-bedrock-task-definition"></a>

La seguente definizione dello stato dell'attività mostra come è possibile eseguire l'integrazione con le macchine Amazon Bedrock a stati. Questo esempio mostra uno stato Task che estrae il risultato completo dell'invocazione del modello specificata dal percorso,. `result_one` Questo si basa sui [parametri di inferenza](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) per i modelli di base. Questo esempio utilizza il modello di linguaggio di grandi dimensioni (LLM) di Cohere Command.

```
{
  "Type": "Task",
  "Resource": "arn:aws:states:::bedrock:invokeModel",
  "Arguments": {
    "ModelId": "cohere.command-text-v14",
    "Body": {
      "prompt": "{% states.input.prompt_one %}",
      "max_tokens": 20
    },
    "ContentType": "application/json",
    "Accept": "*/*"
  },
  "End": true
}
```

## Politiche IAM per le chiamate ad Amazon Bedrock
<a name="bedrock-iam"></a>

Quando crei una macchina a stati utilizzando la console, crea Step Functions automaticamente un ruolo di esecuzione per la tua macchina a stati con i privilegi minimi richiesti. Questi IAM ruoli generati automaticamente sono validi per il momento Regione AWS in cui si crea la macchina a stati.

Quando si creano IAM politiche, si consiglia di non includere caratteri jolly nelle politiche. Come best practice in materia di sicurezza, è consigliabile limitare il più possibile le policy. È consigliabile utilizzare politiche dinamiche solo quando determinati parametri di input non sono noti durante il runtime.

I seguenti modelli di esempio mostrano come AWS Step Functions generare le policy IAM in base alle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consultare [In che modo Step Functions genera policy IAM per servizi integrati](service-integration-iam-templates.md) e [Scopri i modelli di integrazione dei servizi in Step Functions](connect-to-resource.md).

### IAM esempi di policy per Amazon Bedrock integrazione
<a name="bedrock-iam-policy-eg"></a>

La sezione seguente descrive le IAM autorizzazioni necessarie in base all'Amazon BedrockAPI utilizzata per uno specifico modello di base o fornito. Questa sezione contiene anche esempi di politiche che garantiscono l'accesso completo.

Ricordati di sostituire il {{italicized}} testo con informazioni specifiche sulla tua risorsa.
+ [IAM esempio di politica per accedere a un modello di base specifico utilizzando InvokeModel](#bedrock-policy-invoke-foundation-model)
+ [IAM esempio di policy per accedere a uno specifico modello predisposto utilizzando InvokeModel](#bedrock-policy-invoke-provisioned-model)
+ [Accesso completo ad IAM esempio di politica da utilizzare InvokeModel](#bedrock-policy-invokemodel-full-access)
+ [IAM esempio di policy per accedere a uno specifico modello di base come modello base](#bedrock-policy-foundation-model)
+ [IAM esempio di policy per accedere a un modello personalizzato specifico come modello base](#bedrock-policy-custom-model)
+ [Accesso completo ad IAM esempio di politica da utilizzare CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-full-access)
+ [IAM esempio di policy per accedere a un modello di base specifico utilizzando CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-sync-foundation-model)
+ [IAM esempio di policy per accedere a un modello personalizzato utilizzando CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-sync-custom-model)
+ [Accesso completo ad IAM esempio di politica da utilizzare CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-sync-full-access)

#### IAM esempio di politica per accedere a un modello di base specifico utilizzando InvokeModel
<a name="bedrock-policy-invoke-foundation-model"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati che accede a un modello di base specifico denominato `amazon.titan-text-express-v1` utilizzando l'azione [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "InvokeModel1",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/{{amazon.titan-text-express-v1}}"
            ]
        }
    ]
}
```

#### IAM esempio di policy per accedere a uno specifico modello predisposto utilizzando InvokeModel
<a name="bedrock-policy-invoke-provisioned-model"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati che accede a uno specifico modello fornito denominato `c2oi931ulksx` utilizzando l'[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)azione API.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Sid": "InvokeModel1",
      "Action": [
        "bedrock:InvokeModel"
      ],
      "Resource": [
        "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:provisioned-model/{{c2oi931ulksx}}"
      ]
    }
  ]
}
```

#### Accesso completo ad IAM esempio di politica da utilizzare InvokeModel
<a name="bedrock-policy-invokemodel-full-access"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati che fornisce l'accesso completo quando si utilizza l'azione [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "InvokeModel1",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:provisioned-model/*"
            ]
        }
    ]
}
```

#### IAM esempio di policy per accedere a uno specifico modello di base come modello base
<a name="bedrock-policy-foundation-model"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati per accedere a un modello di base specifico `amazon.titan-text-express-v1` denominato modello base utilizzando l'azione [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob1",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/{{amazon.titan-text-express-v1}}",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:custom-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob2",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::{{123456789012}}:role/{{myRole}}"            
            ]
        }
    ] 
}
```

#### IAM esempio di policy per accedere a un modello personalizzato specifico come modello base
<a name="bedrock-policy-custom-model"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati per accedere a un modello personalizzato specifico come modello base utilizzando l'azione [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob1",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:custom-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob2",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::{{123456789012}}:role/myRoleName"            
            ]
        }
    ] 
}
```

#### Accesso completo ad IAM esempio di politica da utilizzare CreateModelCustomizationJob.sync
<a name="bedrock-policy-createmodel-full-access"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati che fornisce l'accesso completo quando si utilizza l'azione [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob1",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:custom-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob2",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::{{123456789012}}:role/{{myRole}}"            
            ]
        }
    ] 
}
```

#### IAM esempio di policy per accedere a un modello di base specifico utilizzando CreateModelCustomizationJob.sync
<a name="bedrock-policy-createmodel-sync-foundation-model"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati per accedere a un modello di base specifico denominato `amazon.titan-text-express-v1` utilizzando l'azione [CreateModelCustomizationJob.sync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob1",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/amazon.titan-text-express-v1",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:custom-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob2",
            "Action": [
                "bedrock:GetModelCustomizationJob",
                "bedrock:StopModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob3",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::{{123456789012}}:role/{{myRole}}"            
            ]
        }
    ]
}
```

#### IAM esempio di policy per accedere a un modello personalizzato utilizzando CreateModelCustomizationJob.sync
<a name="bedrock-policy-createmodel-sync-custom-model"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati per accedere a un modello personalizzato utilizzando l'azione [CreateModelCustomizationJob.sync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob1",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:custom-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob2",
            "Action": [
                "bedrock:GetModelCustomizationJob",
                "bedrock:StopModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob3",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::{{123456789012}}:role/{{myRole}}"            
            ]
        }
    ]
}
```

#### Accesso completo ad IAM esempio di politica da utilizzare CreateModelCustomizationJob.sync
<a name="bedrock-policy-createmodel-sync-full-access"></a>

Di seguito è riportato un esempio di IAM policy per una macchina a stati che fornisce l'accesso completo quando si utilizza l'azione [CreateModelCustomizationJob.sync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob1",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:custom-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob2",
            "Action": [
                "bedrock:GetModelCustomizationJob",
                "bedrock:StopModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:model-customization-job/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "CreateModelCustomizationJob3",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::{{123456789012}}:role/{{myRole}}"            
            ]
        }
    ]
}
```