Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Rufen Sie Amazon Bedrock-Modelle mit Step Functions auf und passen Sie sie an
Sie können Step Functions in Amazon Bedrock integrieren, um ein bestimmtes Amazon Bedrock-Modell aufzurufen und einen Feinabstimmungsauftrag zur Anpassung eines Modells zu erstellen. Diese Seite listet das optimierte Amazon Bedrock auf APIs und bietet einen Task
Beispielstatus zum Extrahieren des Ergebnisses eines Modellaufrufs.
Informationen zur Integration mit AWS Diensten in Step Functions finden Sie unter Integrieren von -Services undÜbergeben von Parametern an eine Service-API in Step Functions.
Tipp
Um einen Beispiel-Workflow bereitzustellen, der sich integrieren lässt mit Amazon Bedrock, finden Sie unter Führen Sie KI-Prompt-Chaining mit Amazon Bedrock durch.
Amazon Bedrock Serviceintegration APIs
Um zu integrieren AWS Step Functions mit Amazon Bedrock, Sie können Folgendes verwenden APIs. Diese APIs ähneln den entsprechenden Amazon Bedrock APIs, außer dass es zusätzliche Anforderungsfelder InvokeModelhat.
Amazon Bedrock API - CreateModelCustomizationJob
Erstellt einen Feinabstimmungsauftrag zur Anpassung eines Basismodells. Sie können die Step Functions Functions-Integrations-API mit den CreateModelCustomizationJobIntegrationsmustern für Request Response oder mit den Integrationsmustern CreateModelCustomizationJob.sync für Run a Job (.sync) aufrufen. Es gibt keine Unterschiede in den Feldern für die API-Aufrufe.
Amazon Bedrock API - InvokeModel
Ruft das angegebene Amazon Bedrock Modell zum Ausführen von Inferenzen unter Verwendung der Eingabe, die Sie im Hauptteil der Anfrage angeben. Sie verwenden InvokeModel
es, um Inferenzen für Textmodelle, Bildmodelle und Einbettungsmodelle auszuführen.
Das Tool Amazon Bedrock Der Anforderungstext der Service-Integrations-API für InvokeModelenthält die folgenden zusätzlichen Parameter.
-
Body
— Spezifiziert Eingabedaten in dem Format, das im Inhaltstyp-Anforderungsheader angegeben ist.Body
enthält spezifische Parameter für das Zielmodell.Wenn Sie die
InvokeModel
API verwenden, müssen Sie denBody
Parameter angeben. Step Functions validiert die von Ihnen eingegebene Eingabe nichtBody
.Wenn Sie angeben,
Body
verwenden Sie Amazon Bedrock optimierte Integration, Sie können eine Nutzlast von bis zu 256 KiB angeben. Wenn Ihre Nutzlast 256 KiB überschreitet, empfehlen wir Ihnen die VerwendungInput
. -
Input
— Gibt die Quelle an, aus der die Eingabedaten abgerufen werden sollen. Dieses optionale Feld ist spezifisch für Amazon Bedrock optimierte Integration mit Step Functions. In diesem Feld können Sie eine angebenS3Uri
.Sie können entweder
Body
in den Parametern oderInput
, aber nicht beide angeben.Wenn Sie
Input
ohne Angabe angebenContentType
, wird der Inhaltstyp der Eingabedatenquelle zum Wert fürContentType
. -
Output
— Gibt das Ziel an, in das die API-Antwort geschrieben wird. Dieses optionale Feld ist spezifisch für Amazon Bedrock optimierte Integration mit Step Functions. In diesem Feld können Sie eine angebenS3Uri
.Wenn Sie dieses Feld angeben, wird der API-Antworttext durch einen Verweis auf den ersetzt Amazon S3 Speicherort der ursprünglichen Ausgabe.
Das folgende Beispiel zeigt die Syntax für InvokeModel API für 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 } }
Definition des Aufgabenstatus für Amazon Bedrock Integration
Die folgende Aufgabenstatusdefinition zeigt, wie Sie eine Integration mit Amazon Bedrock in Ihren Zustandsmaschinen. Dieses Beispiel zeigt einen Task-Status, der das vollständige Ergebnis eines durch den Pfad, result_one
angegebenen Modellaufrufs extrahiert. Dies basiert auf Inferenzparametern für Fundamentmodelle. In diesem Beispiel wird das Large Language Model (LLM) von Cohere Command verwendet.
{ "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
Wenn Sie mithilfe der Konsole eine Zustandsmaschine erstellen, Step Functions erstellt automatisch eine Ausführungsrolle für Ihren Zustandsmaschine mit den geringsten erforderlichen Rechten. Diese werden automatisch generiert IAM Rollen gelten für den, AWS-Region in dem Sie die Zustandsmaschine erstellen.
Wir empfehlen, dass Sie beim Erstellen IAM Richtlinien, verwenden Sie keine Platzhalter in den Richtlinien. Aus Sicherheitsgründen sollten Sie Ihre Richtlinien so weit wie möglich einschränken. Sie sollten dynamische Richtlinien nur verwenden, wenn bestimmte Eingabeparameter während der Laufzeit nicht bekannt sind.
Die folgenden Beispielvorlagen zeigen, wie IAM-Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition AWS Step Functions generiert werden. Weitere Informationen erhalten Sie unter So generiert Step Functions IAM-Richtlinien für integrierte Dienste und Entdecken Sie Serviceintegrationsmuster in Step Functions.
IAM Richtlinienbeispiele für Amazon Bedrock Integration
Der folgende Abschnitt beschreibt IAM Berechtigungen, die Sie benötigen, basieren auf Amazon Bedrock API, die Sie für eine bestimmte Grundlage oder ein bestimmtes Bereitstellungsmodell verwenden. Dieser Abschnitt enthält auch Beispiele für Richtlinien, die vollen Zugriff gewähren.
Denken Sie daran, den italicized
Text durch Ihre ressourcenspezifischen Informationen zu ersetzen.
-
IAM Richtlinienbeispiel für den Zugriff auf ein bestimmtes Foundation-Modell mit InvokeModel
-
IAM Richtlinienbeispiel für den Zugriff auf ein bestimmtes bereitgestelltes Modell mit InvokeModel
-
Vollzugriff IAM Zu verwendendes Richtlinienbeispiel InvokeModel
-
IAM Richtlinienbeispiel für den Zugriff auf ein bestimmtes Foundation-Modell als Basismodell
-
Vollzugriff IAM Richtlinienbeispiel für die Verwendung von CreateModelCustomizationJob .sync
-
Vollzugriff IAM Richtlinienbeispiel für die Verwendung von .sync CreateModelCustomizationJob
IAM Richtlinienbeispiel für den Zugriff auf ein bestimmtes Foundation-Modell mit InvokeModel
Das Folgende ist ein IAM Richtlinienbeispiel für eine Zustandsmaschine, die auf ein bestimmtes Foundation-Modell zugreift, das amazon.titan-text-express-v1
mithilfe der InvokeModelAPI-Aktion benannt wurde.
{ "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 Richtlinienbeispiel für den Zugriff auf ein bestimmtes bereitgestelltes Modell mit InvokeModel
Das Folgende ist ein IAM Richtlinienbeispiel für eine Zustandsmaschine, die auf ein bestimmtes bereitgestelltes Modell zugreift, das c2oi931ulksx
mithilfe der InvokeModelAPI-Aktion benannt wurde.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:provisioned-model/c2oi931ulksx
" ] } ] }
Vollzugriff IAM Zu verwendendes Richtlinienbeispiel InvokeModel
Das Folgende ist ein IAM Richtlinienbeispiel für eine Zustandsmaschine, die vollen Zugriff gewährt, wenn Sie die InvokeModelAPI-Aktion verwenden.
{ "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 Richtlinienbeispiel für den Zugriff auf ein bestimmtes Foundation-Modell als Basismodell
Das Folgende ist ein IAM Richtlinienbeispiel für einen Zustandsmaschine für den Zugriff auf ein bestimmtes Foundation-Modell, das amazon.titan-text-express-v1
als Basismodell benannt ist, mithilfe der CreateModelCustomizationJobAPI-Aktion.
{ "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 Richtlinienbeispiel für den Zugriff auf ein bestimmtes benutzerdefiniertes Modell als Basismodell
Das Folgende ist ein IAM Richtlinienbeispiel für eine Zustandsmaschine für den Zugriff auf ein bestimmtes benutzerdefiniertes Modell als Basismodell mithilfe der CreateModelCustomizationJobAPI-Aktion.
{ "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]]" ] } ] }
Vollzugriff IAM Richtlinienbeispiel für die Verwendung von CreateModelCustomizationJob .sync
Das Folgende ist ein IAM Richtlinienbeispiel für eine Zustandsmaschine, die vollen Zugriff gewährt, wenn Sie die CreateModelCustomizationJobAPI-Aktion verwenden.
{ "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 Richtlinienbeispiel für den Zugriff auf ein bestimmtes Foundation-Modell mithilfe von CreateModelCustomizationJob .sync
Das Folgende ist ein IAM Richtlinienbeispiel für einen Zustandsmaschine für den Zugriff auf ein bestimmtes Foundation-Modell, das amazon.titan-text-express-v1
mithilfe der API-Aktion CreateModelCustomizationJob.sync benannt wurde.
{ "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 Richtlinienbeispiel für den Zugriff auf ein benutzerdefiniertes Modell mithilfe von .sync CreateModelCustomizationJob
Das Folgende ist ein IAM Richtlinienbeispiel für eine Zustandsmaschine für den Zugriff auf ein benutzerdefiniertes Modell mithilfe der API-Aktion 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
" ] } ] }
Vollzugriff IAM Richtlinienbeispiel für die Verwendung von .sync CreateModelCustomizationJob
Das Folgende ist ein IAM Richtlinienbeispiel für eine Zustandsmaschine, die vollen Zugriff gewährt, wenn Sie die API-Aktion CreateModelCustomizationJob.sync verwenden.
{ "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
" ] } ] }