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
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 gli Amazon Bedrock supportati APIs e fornisce uno Task
stato di esempio per estrarre il risultato di una chiamata del modello.
Per saperne di più sull'integrazione con AWS servizi in Step Functions, vedere Integrazione dei servizi e. Passaggio di parametri a un servizio API in Step Functions
Suggerimento
Per implementare un flusso di lavoro di esempio che si integra con Amazon Bedrock, consulta Esegui il concatenamento dei prompt AI con Amazon Bedrock.
Amazon Bedrock integrazione dei servizi APIs
Integrare AWS Step Functions con Amazon Bedrock, puoi usare quanto segueAPIs. Questi APIs sono simili ai corrispondenti Amazon Bedrock APIs, tranne che InvokeModeldispone di campi di richiesta aggiuntivi.
Amazon Bedrock API - CreateModelCustomizationJob
Crea un lavoro di messa a punto per personalizzare un modello base. Puoi richiamare l'integrazione Step Functions API con i modelli di integrazione CreateModelCustomizationJobfor Request Response CreateModelCustomizationJob o.sync for Run a Job (.sync). Non ci sono differenze nei campi per le chiamate. API
Amazon Bedrock API - InvokeModel
Richiama il valore specificato Amazon Bedrock modello 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 Amazon Bedrock il corpo della API richiesta di integrazione del servizio InvokeModelinclude i seguenti parametri aggiuntivi.
-
Body
— specifica i dati di input nel formato specificato nell'intestazione della richiesta del tipo di contenuto.Body
contiene parametri specifici per il modello di destinazione.Se si utilizza il
InvokeModel
API, è necessario specificare ilBody
parametro. Step Functions non convalida l'input fornito.Body
Quando si specifica
Body
utilizzando il Amazon Bedrock integrazione ottimizzata, è possibile specificare un payload fino a 256 KB. Se il payload supera i 256 KB, ti consigliamo di utilizzarlo.Input
-
Input
— Specifica la fonte da cui recuperare i dati di input. Questo campo opzionale è specifico per Amazon Bedrock integrazione ottimizzata con Step Functions. In questo campo è possibile specificare unS3Uri
.È possibile specificare
Body
nei Parametri oInput
, ma non entrambi.Quando si specifica
Input
senza specificareContentType
, il tipo di contenuto dell'origine dati di input diventa il valore perContentType
. -
Output
— Speciifica la destinazione in cui viene scritta la API risposta. Questo campo opzionale è specifico per Amazon Bedrock integrazione ottimizzata con Step Functions. In questo campo è possibile specificare unS3Uri
.Se si specifica questo campo, il corpo della API risposta viene sostituito con un riferimento a Amazon S3 posizione dell'output originale.
L'esempio seguente mostra la sintassi di for InvokeModel API Amazon Bedrock integrazione.
{ "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 } }
Definizione dello stato dell'attività per Amazon Bedrock integrazione
La seguente definizione dello stato dell'attività mostra come è possibile eseguire l'integrazione con Amazon Bedrock nelle vostre macchine 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 per i modelli di base. Questo esempio utilizza il modello di linguaggio di grandi dimensioni di Cohere Command ()LLM.
{ "Type": "Task", "Resource": "arn:aws:states:::bedrock:invokeModel", "Parameters": { "ModelId": "cohere.command-text-v14", "Body": { "prompt.$": "$.prompt_one", "max_tokens": 250 }, "ContentType": "application/json", "Accept": "*/*" }, "ResultPath": "$.result_one", "ResultSelector": { "result_one.$": "$.Body.generations[0].text" }, "End": true }
IAM policies for calling Amazon Bedrock
Quando si crea una macchina a stati utilizzando la console, Step Functions crea automaticamente un ruolo di esecuzione per la macchina a stati con i privilegi minimi richiesti. Questi vengono generati automaticamente IAM i ruoli sono validi per Regione AWS in cui si crea la macchina a stati.
Lo consigliamo al momento della creazione IAM politiche, 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 modelli di esempio seguenti mostrano come AWS Step Functions genera IAM politiche basate sulle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consulta In che modo Step Functions genera IAM politiche per servizi integrati e Scopri i modelli di integrazione dei servizi in Step Functions.
IAM esempi di politiche per Amazon Bedrock integrazione
La sezione seguente descrive IAM le autorizzazioni necessarie in base a Amazon Bedrock APIche utilizzi per una base specifica o un modello fornito. Questa sezione contiene anche esempi di politiche che garantiscono l'accesso completo.
Ricordati di sostituire il italicized
testo con le informazioni specifiche della risorsa.
-
IAM esempio di politica per accedere a un modello di base specifico utilizzando InvokeModel
-
IAM esempio di policy per accedere a uno specifico modello predisposto utilizzando InvokeModel
-
Accesso completo ad IAM esempio di politica da utilizzare InvokeModel
-
IAM esempio di policy per accedere a uno specifico modello di base come modello base
-
IAM esempio di policy per accedere a un modello personalizzato specifico come modello base
-
Accesso completo ad IAM esempio di politica per utilizzare CreateModelCustomizationJob .sync
-
Accesso completo ad IAM esempio di politica per utilizzare .sync CreateModelCustomizationJob
IAM esempio di politica per accedere a un modello di base specifico utilizzando InvokeModel
Quanto segue è un IAM esempio di policy per una macchina a stati che accede a uno specifico modello di base denominato amazon.titan-text-express-v1
utilizzando l'InvokeModelAPIazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/
amazon.titan-text-express-v1
" ] } ] }
IAM esempio di policy per accedere a uno specifico modello predisposto utilizzando InvokeModel
Quanto segue è un IAM esempio di policy per una macchina a stati che accede a uno specifico modello fornito denominato c2oi931ulksx
utilizzando l'InvokeModelAPIazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:provisioned-model/c2oi931ulksx
" ] } ] }
Accesso completo ad IAM esempio di politica da utilizzare InvokeModel
Quanto segue è un IAM esempio di politica per una macchina a stati che fornisce l'accesso completo quando si utilizza l'InvokeModelAPIazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/*", "arn:aws:bedrock:us-east-2:
123456789012
:provisioned-model/*" ] } ] }
IAM esempio di policy per accedere a uno specifico modello di base come modello base
Quanto segue è un IAM esempio di politica per una macchina a stati per accedere a uno specifico modello di base amazon.titan-text-express-v1
denominato modello base utilizzando l'CreateModelCustomizationJobAPIazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/
amazon.titan-text-express-v1
", "arn:aws:bedrock:us-east-2:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2: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
Quanto segue è un IAM esempio di politica per una macchina a stati per accedere a un modello personalizzato specifico come modello base utilizzando l'CreateModelCustomizationJobAPIazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/[[roleName]]" ] } ] }
Accesso completo ad IAM esempio di politica per utilizzare CreateModelCustomizationJob .sync
Quanto segue è un IAM esempio di politica per una macchina a stati che fornisce l'accesso completo quando si utilizza l'CreateModelCustomizationJobAPIazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/*", "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2: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
Quanto segue è un IAM esempio di politica per una macchina a stati per accedere a un modello di base specifico denominato amazon.titan-text-express-v1
utilizzando l'APIazione CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/amazon.titan-text-express-v1", "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2: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 .sync CreateModelCustomizationJob
Quanto segue è un IAM esempio di politica per una macchina a stati per accedere a un modello personalizzato utilizzando l'APIazione CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2: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 per utilizzare .sync CreateModelCustomizationJob
Quanto segue è un IAM esempio di policy per una macchina a stati che fornisce l'accesso completo quando si utilizza l'APIazione CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-2
::foundation-model/*", "arn:aws:bedrock:us-east-2
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }