

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memanggil dan menyesuaikan model Amazon Bedrock dengan Step Functions
<a name="connect-bedrock"></a>

Anda dapat mengintegrasikan Step Functions dengan Amazon Bedrock untuk menjalankan model Amazon Bedrock tertentu dan membuat pekerjaan fine-tuning untuk menyesuaikan model. Halaman ini mencantumkan Amazon Bedrock yang dioptimalkan APIs dan memberikan contoh `Task` status untuk mengekstrak hasil pemanggilan model.

Untuk mempelajari tentang mengintegrasikan dengan AWS layanan di Step Functions, lihat [Integrasi layanan ](integrate-services.md) dan[Meneruskan parameter ke API layanan di Step Functions](connect-parameters.md).

**Tip**  
Untuk menerapkan contoh alur kerja yang terintegrasi denganAmazon Bedrock, lihat. [Lakukan prompt chaining AI dengan Amazon Bedrock](sample-bedrock-prompt-chaining.md)

## Amazon Bedrockintegrasi layanan APIs
<a name="connect-bedrock-custom-apis"></a>

Untuk AWS Step Functions berintegrasiAmazon Bedrock, Anda dapat menggunakan yang berikut ini APIs. Ini APIs mirip dengan yang sesuai Amazon Bedrock APIs, kecuali *InvokeModel*memiliki bidang permintaan tambahan.

**API Batuan Dasar Amazon - [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)**  
Membuat pekerjaan fine-tuning untuk menyesuaikan model dasar. Anda dapat menjalankan API integrasi Step Functions dengan **CreateModelCustomizationJob**for *Request Response*, **CreateModelCustomizationJobatau.sync untuk pola** integrasi *Run a Job (.sync)*. Tidak ada perbedaan dalam bidang untuk panggilan API.

**API Batuan Dasar Amazon - [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)**  
Memanggil Amazon Bedrock model yang ditentukan untuk menjalankan inferensi menggunakan input yang Anda berikan di badan permintaan. Anda gunakan `InvokeModel` untuk menjalankan inferensi untuk model teks, model gambar, dan model penyematan.

Badan permintaan API integrasi Amazon Bedrock layanan untuk *InvokeModel*menyertakan parameter tambahan berikut.
+ `Body`- Menentukan data masukan dalam format yang ditentukan dalam header permintaan tipe konten. `Body`berisi parameter khusus untuk model target.

  Jika Anda menggunakan `InvokeModel` API, Anda harus menentukan `Body` parameter. Step Functionstidak memvalidasi masukan yang Anda berikan. `Body`

  Bila Anda menentukan `Body` menggunakan integrasi yang Amazon Bedrock dioptimalkan, Anda dapat menentukan payload hingga 256 KiB. Jika muatan Anda melebihi 256 KiB, kami sarankan Anda menggunakannya`Input`.
+ `Input`- Menentukan sumber untuk mengambil data input dari. Bidang opsional ini khusus untuk integrasi yang Amazon Bedrock dioptimalkan denganStep Functions. Di bidang ini, Anda dapat menentukan file`S3Uri`.

  Anda dapat menentukan baik `Body` dalam Parameter atau`Input`, tetapi tidak keduanya.

  Saat Anda menentukan `Input` tanpa menentukan`ContentType`, jenis konten dari sumber data input menjadi nilai untuk`ContentType`.
+ `Output`— Menentukan tujuan di mana respon API ditulis. Bidang opsional ini khusus untuk integrasi yang Amazon Bedrock dioptimalkan denganStep Functions. Di bidang ini, Anda dapat menentukan file`S3Uri`.

  Jika Anda menentukan bidang ini, badan respons API akan diganti dengan referensi ke Amazon S3 lokasi output asli.

Contoh berikut menunjukkan sintaks untuk InvokeModel API untuk Amazon Bedrock integrasi.

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

## Definisi status tugas untuk Amazon Bedrock integrasi
<a name="connect-bedrock-task-definition"></a>

Definisi status Tugas berikut menunjukkan bagaimana Anda dapat berintegrasi Amazon Bedrock dengan mesin status Anda. Contoh ini menunjukkan status Tugas yang mengekstrak hasil lengkap dari pemanggilan model yang ditentukan oleh jalur,. `result_one` Ini didasarkan pada [parameter Inferensi untuk model pondasi](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html). Contoh ini menggunakan Cohere Command large language model (LLM).

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

## IAM policies for calling Amazon Bedrock
<a name="bedrock-iam"></a>

Saat Anda membuat mesin status menggunakan konsol, Step Functions secara otomatis membuat peran eksekusi untuk mesin status Anda dengan hak istimewa paling sedikit yang diperlukan. IAMPeran yang dihasilkan secara otomatis ini berlaku untuk Wilayah AWS di mana Anda membuat mesin status.

Sebaiknya saat Anda membuat IAM kebijakan, jangan sertakan wildcard dalam kebijakan. Sebagai praktik terbaik keamanan, Anda harus mencatat kebijakan Anda sebanyak mungkin. Anda harus menggunakan kebijakan dinamis hanya jika parameter input tertentu tidak diketahui selama runtime.

Contoh templat berikut menunjukkan cara AWS Step Functions menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi mesin status Anda. Untuk informasi selengkapnya, lihat [Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi](service-integration-iam-templates.md) dan [Temukan pola integrasi layanan di Step Functions](connect-to-resource.md).

### IAMcontoh kebijakan untuk Amazon Bedrock integrasi
<a name="bedrock-iam-policy-eg"></a>

Bagian berikut menjelaskan IAM izin yang Anda perlukan berdasarkan Amazon Bedrock API yang Anda gunakan untuk fondasi tertentu atau model yang disediakan. Bagian ini juga berisi contoh kebijakan yang memberikan akses penuh.

Ingatlah untuk mengganti *italicized* teks dengan informasi spesifik sumber daya Anda.
+ [IAMcontoh kebijakan untuk mengakses model pondasi tertentu menggunakan InvokeModel](#bedrock-policy-invoke-foundation-model)
+ [IAMcontoh kebijakan untuk mengakses model tertentu yang disediakan menggunakan InvokeModel](#bedrock-policy-invoke-provisioned-model)
+ [Contoh IAM kebijakan akses penuh untuk digunakan InvokeModel](#bedrock-policy-invokemodel-full-access)
+ [IAMcontoh kebijakan untuk mengakses model pondasi tertentu sebagai model dasar](#bedrock-policy-foundation-model)
+ [IAMcontoh kebijakan untuk mengakses model kustom tertentu sebagai model dasar](#bedrock-policy-custom-model)
+ [Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync](#bedrock-policy-createmodel-full-access)
+ [IAMcontoh kebijakan untuk mengakses model fondasi tertentu menggunakan CreateModelCustomizationJob .sync](#bedrock-policy-createmodel-sync-foundation-model)
+ [IAMcontoh kebijakan untuk mengakses model kustom CreateModelCustomizationJob menggunakan.sync](#bedrock-policy-createmodel-sync-custom-model)
+ [Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync](#bedrock-policy-createmodel-sync-full-access)

#### IAMcontoh kebijakan untuk mengakses model pondasi tertentu menggunakan InvokeModel
<a name="bedrock-policy-invoke-foundation-model"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status yang mengakses model dasar tertentu bernama `amazon.titan-text-express-v1` menggunakan tindakan [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"
            ]
        }
    ]
}
```

#### IAMcontoh kebijakan untuk mengakses model tertentu yang disediakan menggunakan InvokeModel
<a name="bedrock-policy-invoke-provisioned-model"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status yang mengakses model tertentu yang disediakan bernama `c2oi931ulksx` menggunakan tindakan API. [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)

****  

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

#### Contoh IAM kebijakan akses penuh untuk digunakan InvokeModel
<a name="bedrock-policy-invokemodel-full-access"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status yang menyediakan akses penuh saat Anda menggunakan tindakan [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/*"
            ]
        }
    ]
}
```

#### IAMcontoh kebijakan untuk mengakses model pondasi tertentu sebagai model dasar
<a name="bedrock-policy-foundation-model"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status untuk mengakses model dasar tertentu bernama `amazon.titan-text-express-v1` sebagai model dasar menggunakan tindakan [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"            
            ]
        }
    ] 
}
```

#### IAMcontoh kebijakan untuk mengakses model kustom tertentu sebagai model dasar
<a name="bedrock-policy-custom-model"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status untuk mengakses model kustom tertentu sebagai model dasar menggunakan tindakan [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"            
            ]
        }
    ] 
}
```

#### Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync
<a name="bedrock-policy-createmodel-full-access"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status yang menyediakan akses penuh saat Anda menggunakan tindakan [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"            
            ]
        }
    ] 
}
```

#### IAMcontoh kebijakan untuk mengakses model fondasi tertentu menggunakan CreateModelCustomizationJob .sync
<a name="bedrock-policy-createmodel-sync-foundation-model"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status untuk mengakses model dasar tertentu bernama `amazon.titan-text-express-v1` menggunakan [CreateModelCustomizationJobtindakan.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"            
            ]
        }
    ]
}
```

#### IAMcontoh kebijakan untuk mengakses model kustom CreateModelCustomizationJob menggunakan.sync
<a name="bedrock-policy-createmodel-sync-custom-model"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status untuk mengakses model kustom menggunakan [CreateModelCustomizationJobtindakan.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"            
            ]
        }
    ]
}
```

#### Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync
<a name="bedrock-policy-createmodel-sync-full-access"></a>

Berikut ini adalah contoh IAM kebijakan untuk mesin status yang menyediakan akses penuh saat Anda menggunakan [CreateModelCustomizationJobtindakan.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"            
            ]
        }
    ]
}
```