Jalankan Amazon Bedrock flow secara asinkron dengan eksekusi flow - Amazon Bedrock

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

Jalankan Amazon Bedrock flow secara asinkron dengan eksekusi flow

Dengan eksekusi flow, Anda dapat menjalankan aliran Amazon Bedrock secara asinkron. Ini memungkinkan alur Anda berjalan untuk jangka waktu yang lebih lama dan juga menghasilkan kontrol sehingga aplikasi Anda dapat melakukan tugas lain.

Saat Anda menjalankan aliran dengan menggunakan konsol Amazon Bedrock atau dengan InvokeFlowoperasi, aliran berjalan hingga selesai atau habis waktu dalam satu jam (mana yang pertama). Ketika Anda menjalankan eksekusi flow, flow Anda dapat berjalan lebih lama: Node individual dapat berjalan hingga lima menit, dan seluruh aliran Anda dapat berjalan hingga 24 jam.

catatan

Eksekusi Flow dalam rilis pratinjau untuk Amazon Bedrock dan dapat berubah sewaktu-waktu.

Izin yang diperlukan untuk menjalankan eksekusi alur

Membuat dan mengelola eksekusi aliran

Anda dapat membuat eksekusi aliran di konsol atau dengan menggunakan StartFlowExecutionoperasi.

Console
  1. Buat alur dengan mengikuti instruksi diBuat dan rancang alur di Amazon Bedrock.

  2. Buat alias untuk alur dengan mengikuti petunjuk diBuat alias aliran di Amazon Bedrock.

  3. Jika Anda belum berada di pembuat Flow, lakukan hal berikut:

    1. Masuk ke AWS Management Console menggunakan peran IAM dengan izin Amazon Bedrock, dan buka konsol Amazon Bedrock di Memulai dengan. AWS Management Console

    2. Pilih Amazon Bedrock Flows dari panel navigasi kiri, lalu pilih alur Anda.

  4. Pilih tab Eksekusi, lalu pilih Buat eksekusi.

  5. Dalam dialog Buat eksekusi, masukkan yang berikut

    1. Untuk Nama, masukkan nama untuk eksekusi aliran.

    2. Untuk Pilih alias, pilih alias aliran yang ingin Anda gunakan.

    3. Untuk input Prompt, masukkan prompt yang ingin Anda gunakan untuk memulai alirannya.

    4. Pilih Buat untuk membuat eksekusi aliran dan mulai menjalankannya.

  6. Pada halaman detail alur, pilih tab Eksekusi dan catat status eksekusi alur dalam status Eksekusi.

  7. (Opsional) Pilih eksekusi untuk membuka alur dan melihat ringkasan eksekusi.

    Dalam output Eksekusi, Anda melihat output dari aliran.

  8. (Opsional) Untuk menghentikan eksekusi flow, pilih eksekusi dan pilih Stop.

API
Memulai eksekusi aliran

Untuk menjalankan eksekusi flow, kirim StartFlowExecutionpermintaan dengan titik akhir runtime Agen untuk Amazon Bedrock. Dalam permintaan, tentukan ID aliran dan ID alias aliran aliran yang ingin Anda jalankan. Anda juga dapat menentukan yang berikut:

  • input - Array yang berisi simpul input yang Anda inginkan agar alirannya mulai berjalan. Anda menentukan input yang akan dikirim ke node input aliran prompt di content lapangan.

  • name — Nama untuk eksekusi flow.

{ "inputs": [{ "nodeName": "FlowInputNode", "nodeOutputName": "document", "content": { "document": "Test" } }], "name": "MyExecution" }

Responsnya adalah Amazon Resource Name (ARN) dari eksekusi flow. Anda dapat menggunakan executionArn to polling untuk status aliran saat ini, seperti saat eksekusi flow selesai atau node kondisi mengevaluasi kondisinya.

{ "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution" }
Lacak kemajuan eksekusi aliran

Gunakan GetFlowExecutionoperasi untuk mendapatkan status arus arus yang Anda identifikasi dengan eksekusi ARN. Status aliran adalahRunning,,Succeeded, FailedTimedOut, atauAborted.

{ "endedAt": null, "errors": null, "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT", "startedAt": "2025-03-20T23:32:28.899221162Z", "status": "Running" }

Kesalahan (seperti simpul Lambda yang habis waktu) dikembalikan dalam errors array seperti contoh berikut:

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Dapatkan hasil eksekusi aliran

Amazon Bedrock menulis output dari aliran ke node output flow. Anda bisa mendapatkan output setelah aliran selesai atau saat aliran sedang berjalan (tergantung pada kasus penggunaan Anda).

Jika Anda ingin alur selesai terlebih dahulu, lakukan panggilan ke GetFlowExecution dan pastikan bahwa nilai status bidang dalam respons adalahSucceeded.

Untuk mendapatkan daftar peristiwa keluaran dari eksekusi flow, lakukan panggilan ke ListFlowExecutionEvents. Sebagai tanggapan, periksa flowOutputEvent objek diflowExecutionEvents. Misalnya, Anda bisa mendapatkan output aliran di content bidang:

{ "flowOutputEvent": { "content": { "document": "The model response." }, "nodeName": "FlowOutputNode" } }

Anda dapat membatasi output dari ListFlowExecutions hanya input dan output node dengan mengatur parameter eventType query keFlow.

Melihat peristiwa

Untuk membantu men-debug eksekusi flow, Anda dapat menggunakan ListFlowExecutionEventsoperasi untuk melihat peristiwa yang dihasilkan node saat aliran sedang berjalan. Tetapkan parameter eventType kueri Node untuk melihat input dan output dari semua node (termasuk node perantara) dalam respons yang mirip dengan contoh berikut:

{ "flowExecutionEvents": [{ "nodeOutputEvent": { "fields": [{ "content": { "document": "History book" }, "name": "document" }], "nodeName": "FlowInputNode", "timestamp": "2025-05-05T18:38:56.637867516Z" } }, { "nodeInputEvent": { "fields": [{ "content": { "document": "History book" }, "name": "book" }], "nodeName": "Prompt_1", "timestamp": "2025-05-05T18:38:57.434600163Z" } }, { "nodeOutputEvent": { "fields": [{ "content": { "document": "Here's a summary of the history book." }, "name": "modelCompletion" }], "nodeName": "Prompt_1", "timestamp": "2025-05-05T18:39:06.034157077Z" } }, { "nodeInputEvent": { "fields": [{ "content": { "document": "Here's a summary of the history book." }, "name": "document" }], "nodeName": "FlowOutputNode", "timestamp": "2025-05-05T18:39:06.453128251Z" } } ] }
Dapatkan snapshot dari eksekusi alur Anda

Amazon Bedrock secara otomatis mengambil snapshot definisi aliran dan metadata saat eksekusi flow dimulai. Ini sangat membantu karena aliran dapat diperbarui saat berjalan secara asinkron. Untuk mengambil snapshot ini, panggil operasi. GetExecutionFlowSnapshot Responsnya mencakup bidang aliran berikut:

  • customerEncryptionKeyARN — ARN dari kunci AWS KMS yang mengenkripsi aliran.

  • definisiDefinisi aliran.

  • executionRoleArn— ARN dari peran layanan IAM yang digunakan oleh eksekusi aliran.

  • flowAliasIdentifier— ID alias aliran.

  • FloWidentifier - ID aliran.

  • FlowVersion - Versi aliran.

{ "customerEncryptionKeyArn": null, "definition": "{flow-definition}", "executionRoleArn": "arn:aws:iam::111122223333:role/name", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT" }
Buat daftar eksekusi aliran Anda

Anda bisa mendapatkan daftar eksekusi alur Anda dengan memanggil ListFlowExecutionsoperasi. Responsnya mencakup flowExecutionSummaries array dengan informasi tentang setiap eksekusi aliran Anda dalam arus Wilayah AWS untuk alias aliran atau aliran. Setiap elemen mencakup informasi seperti ARN eksekusi, waktu mulai, dan status arus saat ini.

{ "flowExecutionSummaries": [{ "createdAt": "2025-03-11T23:21:02.875598966Z", "endedAt": null, "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT", "status": "Running" }] }
Hentikan eksekusi alur yang sedang berjalan

Jika Anda perlu menghentikan eksekusi aliran yang sedang berjalan, panggil StopFlowExecutionoperasi dan berikan ID aliran, ID alias aliran, dan ID eksekusi aliran untuk eksekusi yang ingin Anda hentikan.

Status eksekusi aliran

Eksekusi flow dapat memiliki salah satu status berikut:

  • Running - Eksekusi aliran sedang berlangsung.

  • Berhasil - Eksekusi aliran berhasil diselesaikan.

  • Gagal - Eksekusi aliran gagal karena kesalahan.

  • TimedOut— Eksekusi aliran melebihi runtime maksimum 24 jam.

  • Dibatalkan - Eksekusi aliran dihentikan secara manual menggunakan StopFlowExecutionoperasi.

Eksekusi aliran yang tidak lagi berjalan akan dihapus secara otomatis setelah 90 hari.

Praktik terbaik untuk eksekusi aliran

Pertimbangkan hal berikut saat menggunakan eksekusi flow:

  • Secara teratur polling status eksekusi flow Anda menggunakan GetFlowExecutionsampai flow Anda mencapai status terminal (yang merupakan hal lain selainRunning).

  • Saat eksekusi flow Anda mencapai status terminal, gunakan ListFlowExecutionEventsuntuk mendapatkan hasil flow Anda. Misalnya, Anda mungkin menggunakan hasil ini untuk membangun beberapa logika di sekitar alur Anda.

  • Dapatkan snapshot dari eksekusi flow Anda yang digunakan GetExecutionFlowSnapshotuntuk membantu proses debug jika muncul masalah dengan eksekusi.