

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 API yang dioptimalkan 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 Bedrock API integrasi layanan
<a name="connect-bedrock-custom-apis"></a>

Untuk mengintegrasikan AWS Step FunctionsAmazon Bedrock, Anda dapat menggunakan API berikut. API ini mirip dengan Amazon Bedrock API terkait, 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*, atau **CreateModelCustomizationJob.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
    } 
}
```

**Tip**  
Untuk mempelajari tentang API Amazon Bedrock tambahan yang tersedia di alur kerja Anda, lihat Integrasi [AWS SDK](supported-services-awssdk.md).

## 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
}
```

## Kebijakan IAM untuk memanggil 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.

Kami menyarankan agar 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).

### IAM contoh 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.
+ [IAM contoh kebijakan untuk mengakses model pondasi tertentu menggunakan InvokeModel](#bedrock-policy-invoke-foundation-model)
+ [IAM contoh kebijakan untuk mengakses model tertentu yang disediakan menggunakan InvokeModel](#bedrock-policy-invoke-provisioned-model)
+ [Akses penuh IAM contoh kebijakan untuk digunakan InvokeModel](#bedrock-policy-invokemodel-full-access)
+ [IAM contoh kebijakan untuk mengakses model pondasi tertentu sebagai model dasar](#bedrock-policy-foundation-model)
+ [IAM contoh kebijakan untuk mengakses model kustom tertentu sebagai model dasar](#bedrock-policy-custom-model)
+ [Akses penuh IAM contoh kebijakan untuk digunakan CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-full-access)
+ [IAM contoh kebijakan untuk mengakses model pondasi tertentu menggunakan CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-sync-foundation-model)
+ [IAM contoh kebijakan untuk mengakses model kustom menggunakan CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-sync-custom-model)
+ [Akses penuh IAM contoh kebijakan untuk digunakan CreateModelCustomizationJob.sync](#bedrock-policy-createmodel-sync-full-access)

#### IAM contoh 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}}"
            ]
        }
    ]
}
```

#### IAM contoh 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}}"
      ]
    }
  ]
}
```

#### Akses penuh IAM contoh kebijakan 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/*"
            ]
        }
    ]
}
```

#### IAM contoh 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}}"            
            ]
        }
    ] 
}
```

#### IAM contoh 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"            
            ]
        }
    ] 
}
```

#### Akses penuh IAM contoh kebijakan untuk digunakan CreateModelCustomizationJob.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}}"            
            ]
        }
    ] 
}
```

#### IAM contoh kebijakan untuk mengakses model pondasi 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 tindakan [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 contoh kebijakan untuk mengakses model kustom menggunakan CreateModelCustomizationJob.sync
<a name="bedrock-policy-createmodel-sync-custom-model"></a>

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

#### Akses penuh IAM contoh kebijakan untuk digunakan CreateModelCustomizationJob.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 tindakan [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}}"            
            ]
        }
    ]
}
```