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
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 danMeneruskan parameter ke API layanan di Step Functions.
Tip
Untuk menerapkan contoh alur kerja yang terintegrasi denganAmazon Bedrock, lihat. Lakukan prompt chaining AI dengan Amazon Bedrock
Amazon Bedrockintegrasi layanan APIs
Untuk AWS Step Functions berintegrasiAmazon Bedrock, Anda dapat menggunakan yang berikut ini APIs. Ini APIs mirip dengan yang sesuai Amazon Bedrock APIs, kecuali InvokeModelmemiliki bidang permintaan tambahan.
API Batuan Dasar Amazon - CreateModelCustomizationJob
Membuat pekerjaan fine-tuning untuk menyesuaikan model dasar. Anda dapat menjalankan API integrasi Step Functions dengan CreateModelCustomizationJobfor Request Response, CreateModelCustomizationJobatau.sync untuk pola integrasi Run a Job (.sync). Tidak ada perbedaan dalam bidang untuk panggilan API.
API Batuan Dasar Amazon - InvokeModel
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 InvokeModelmenyertakan 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 menentukanBody
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 menggunakannyaInput
. -
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 fileS3Uri
.Anda dapat menentukan baik
Body
dalam Parameter atauInput
, tetapi tidak keduanya.Saat Anda menentukan
Input
tanpa menentukanContentType
, jenis konten dari sumber data input menjadi nilai untukContentType
. -
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 fileS3Uri
.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
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. 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
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 dan Temukan pola integrasi layanan di Step Functions.
IAMcontoh kebijakan untuk Amazon Bedrock integrasi
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
-
IAMcontoh kebijakan untuk mengakses model tertentu yang disediakan menggunakan InvokeModel
-
Contoh IAM kebijakan akses penuh untuk digunakan InvokeModel
-
IAMcontoh kebijakan untuk mengakses model pondasi tertentu sebagai model dasar
-
IAMcontoh kebijakan untuk mengakses model kustom tertentu sebagai model dasar
-
Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync
-
IAMcontoh kebijakan untuk mengakses model kustom CreateModelCustomizationJob menggunakan.sync
-
Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync
IAMcontoh kebijakan untuk mengakses model pondasi tertentu menggunakan InvokeModel
Berikut ini adalah contoh IAM kebijakan untuk mesin status yang mengakses model dasar tertentu bernama amazon.titan-text-express-v1
menggunakan tindakan InvokeModelAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:
region
::foundation-model/amazon.titan-text-express-v1
" ] } ] }
IAMcontoh kebijakan untuk mengakses model tertentu yang disediakan menggunakan InvokeModel
Berikut ini adalah contoh IAM kebijakan untuk mesin status yang mengakses model tertentu yang disediakan bernama c2oi931ulksx
menggunakan tindakan API. InvokeModel
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:
region
:account-id
:provisioned-model/c2oi931ulksx
" ] } ] }
Contoh IAM kebijakan akses penuh untuk digunakan InvokeModel
Berikut ini adalah contoh IAM kebijakan untuk mesin status yang menyediakan akses penuh saat Anda menggunakan tindakan InvokeModelAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:
region
::foundation-model/*", "arn:aws:bedrock:region
:account-id
:provisioned-model/*" ] } ] }
IAMcontoh kebijakan untuk mengakses model pondasi tertentu sebagai model dasar
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 CreateModelCustomizationJobAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
region
::foundation-model/amazon.titan-text-express-v1
", "arn:aws:bedrock:region
:account-id
:custom-model/*", "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id
:role/myRole
" ] } ] }
IAMcontoh kebijakan untuk mengakses model kustom tertentu sebagai model dasar
Berikut ini adalah contoh IAM kebijakan untuk mesin status untuk mengakses model kustom tertentu sebagai model dasar menggunakan tindakan CreateModelCustomizationJobAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
region
:account-id
:custom-model/*", "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id
:role/roleName
" ] } ] }
Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync
Berikut ini adalah contoh IAM kebijakan untuk mesin status yang menyediakan akses penuh saat Anda menggunakan tindakan CreateModelCustomizationJobAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
region
::foundation-model/*", "arn:aws:bedrock:region
:account-id
:custom-model/*", "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id
:role/myRole
" ] } ] }
IAMcontoh kebijakan untuk mengakses model fondasi tertentu menggunakan CreateModelCustomizationJob .sync
Berikut ini adalah contoh IAM kebijakan untuk mesin status untuk mengakses model dasar tertentu bernama amazon.titan-text-express-v1
menggunakan CreateModelCustomizationJobtindakan.sync API.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
region
::foundation-model/amazon.titan-text-express-v1", "arn:aws:bedrock:region
:account-id
:custom-model/*", "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id
:role/myRole
" ] } ] }
IAMcontoh kebijakan untuk mengakses model kustom CreateModelCustomizationJob menggunakan.sync
Berikut ini adalah contoh IAM kebijakan untuk mesin status untuk mengakses model kustom menggunakan CreateModelCustomizationJobtindakan.sync API.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
region
:account-id
:custom-model/*", "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id
:role/myRole
" ] } ] }
Contoh IAM kebijakan akses penuh untuk CreateModelCustomizationJob menggunakan.sync
Berikut ini adalah contoh IAM kebijakan untuk mesin status yang menyediakan akses penuh saat Anda menggunakan CreateModelCustomizationJobtindakan.sync API.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
region
::foundation-model/*", "arn:aws:bedrock:region
:account-id
:custom-model/*", "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:region
:account-id
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id
:role/myRole
" ] } ] }