Memanggil dan menyesuaikan model Amazon Bedrock dengan Step Functions - AWS Step Functions

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. Bodyberisi 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 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

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" ] } ] }