Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan fungsi Lambda untuk mengirim informasi yang diperoleh agen Amazon Bedrock dari pengguna
Anda dapat menentukan fungsi Lambda untuk memprogram logika bisnis untuk grup tindakan. Setelah agen Amazon Bedrock menentukan operasi API yang perlu dipanggil dalam grup tindakan, agen akan mengirimkan informasi dari skema API bersama metadata yang relevan sebagai peristiwa input ke fungsi Lambda. Untuk menulis fungsi Anda, Anda harus memahami komponen-komponen berikut dari fungsi Lambda:
-
Input event — Berisi metadata yang relevan dan bidang yang diisi dari badan permintaan operasi API atau parameter fungsi untuk tindakan yang ditentukan agen harus dipanggil.
-
Resp on — Berisi metadata yang relevan dan bidang yang diisi untuk badan respons yang dikembalikan dari operasi API atau fungsi.
Anda menulis fungsi Lambda untuk menentukan cara menangani grup tindakan dan untuk menyesuaikan bagaimana Anda ingin respons API dikembalikan. Anda menggunakan variabel dari peristiwa input untuk menentukan fungsi Anda dan mengembalikan respons ke agen.
catatan
Grup tindakan dapat berisi hingga 11 operasi API, tetapi Anda hanya dapat menulis satu fungsi Lambda. Karena fungsi Lambda hanya dapat menerima peristiwa input dan mengembalikan respons untuk satu operasi API pada satu waktu, Anda harus menulis fungsi mempertimbangkan operasi API berbeda yang mungkin dipanggil.
Agar agen Anda dapat menggunakan fungsi Lambda, Anda harus melampirkan kebijakan berbasis sumber daya ke fungsi untuk memberikan izin bagi agen. Untuk informasi lebih lanjut, ikuti langkah-langkah diResource-based kebijakan untuk mengizinkan Amazon Bedrock menjalankan fungsi Lambda grup tindakan. Untuk informasi selengkapnya tentang kebijakan berbasis sumber daya di Lambda, lihat Menggunakan kebijakan berbasis sumber daya untuk Lamb da di Panduan Pengembang. AWS Lambda
Untuk mempelajari cara mendefinisikan fungsi saat membuat grup tindakan, lihatTambahkan grup tindakan ke agen Anda di Amazon Bedrock.
Topik
Peristiwa masukan lambda dari Amazon Bedrock
Saat grup tindakan menggunakan fungsi Lambda dipanggil, Amazon Bedrock mengirimkan peristiwa masukan Lambda dengan format umum berikut. Anda dapat menentukan fungsi Lambda Anda untuk menggunakan salah satu bidang peristiwa input untuk memanipulasi logika bisnis dalam fungsi untuk berhasil melakukan tindakan. Untuk informasi selengkapnya tentang fungsi Lambda, lihat pem Event-driven anggilan di Panduan Peng AWS Lambda embang.
Format peristiwa masukan tergantung pada apakah Anda mendefinisikan grup tindakan dengan skema API atau dengan detail fungsi:
-
Jika Anda mendefinisikan grup tindakan dengan skema API, format peristiwa masukan adalah sebagai berikut:
{ "messageVersion": "1.0", "agent": { "name": "string", "id": "string", "alias": "string", "version": "string" }, "inputText": "string", "sessionId": "string", "actionGroup": "string", "apiPath": "string", "httpMethod": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "requestBody": { "content": { "<content_type>": { "properties": [ { "name": "string", "type": "string", "value": "string" }, ... ] } } }, "sessionAttributes": { "string": "string", }, "promptSessionAttributes": { "string": "string" } } -
Jika Anda mendefinisikan grup tindakan dengan detail fungsi, format peristiwa masukan adalah sebagai berikut:
{ "messageVersion": "1.0", "agent": { "name": "string", "id": "string", "alias": "string", "version": "string" }, "inputText": "string", "sessionId": "string", "actionGroup": "string", "function": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "sessionAttributes": { "string": "string", }, "promptSessionAttributes": { "string": "string" } }
Daftar berikut menjelaskan bidang peristiwa masukan;
-
messageVersion— Versi pesan yang mengidentifikasi format data peristiwa masuk ke fungsi Lambda dan format respons yang diharapkan dari fungsi Lambda. Amazon Bedrock hanya mendukung versi 1.0. -
agent— Berisi informasi tentang nama, ID, alias, dan versi agen milik grup tindakan. -
inputText— Masukan pengguna untuk pergantian percakapan. -
sessionId— Pengidentifikasi unik sesi agen. -
actionGroup— Nama kelompok aksi. -
parameters— Berisi daftar objek. Setiap objek berisi nama, jenis, dan nilai parameter dalam operasi API, seperti yang didefinisikan dalam OpenAPI skema, atau dalam fungsi. -
Jika Anda mendefinisikan grup tindakan dengan skema API, peristiwa input berisi bidang berikut:
-
apiPath— Jalur ke operasi API, seperti yang didefinisikan dalam OpenAPI skema. -
httpMethod— Metode operasi API, seperti yang didefinisikan dalam OpenAPI skema. -
requestBody- Berisi badan permintaan dan propertinya, seperti yang didefinisikan dalam OpenAPI skema untuk grup tindakan.
-
-
Jika Anda mendefinisikan grup tindakan dengan detail fungsi, peristiwa input berisi bidang berikut:
-
function— Nama fungsi seperti yang didefinisikan dalam rincian fungsi untuk grup tindakan.
-
-
sessionAttributes— Ber isi atribut sesi dan nilainya. Atribut ini disimpan melalui sesi dan memberikan konteks untuk agen. -
promptSessionAttributes- Ber isi atribut sesi prompt dan nilainya. Atribut ini disimpan secara bergantian dan memberikan konteks untuk agen.
Acara respons Lambda ke Amazon Bedrock
Amazon Bedrock mengharapkan respons dari fungsi Lambda Anda yang cocok dengan format berikut. Respons terdiri dari parameter yang dikembalikan dari operasi API. Agen dapat menggunakan respons dari fungsi Lambda untuk orkestrasi lebih lanjut atau untuk membantunya mengembalikan respons kepada pelanggan.
catatan
Ukuran respons payload maksimum cocok dengan ukuran maksimum respons sinkron dari fungsi Lambda. Untuk informasi selengkapnya, lihat ku ota sumber daya payload pemanggilan di Panduan Peng AWS Lambda embang.
Format peristiwa masukan tergantung pada apakah Anda mendefinisikan grup tindakan dengan skema API atau dengan detail fungsi:
-
Jika Anda mendefinisikan grup tindakan dengan skema API, format responsnya adalah sebagai berikut:
{ "messageVersion": "1.0", "response": { "actionGroup": "string", "apiPath": "string", "httpMethod": "string", "httpStatusCode": number, "responseBody": { "<contentType>": { "body": "JSON-formatted string" } } }, "sessionAttributes": { "string": "string", ... }, "promptSessionAttributes": { "string": "string", ... }, "knowledgeBasesConfiguration": [ { "knowledgeBaseId": "string", "retrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": int, "overrideSearchType": "HYBRID | SEMANTIC", "filter": RetrievalFilter object } } }, ... ] } -
Jika Anda mendefinisikan grup tindakan dengan detail fungsi, format respons adalah sebagai berikut:
{ "messageVersion": "1.0", "response": { "actionGroup": "string", "function": "string", "functionResponse": { "responseState": "FAILURE | REPROMPT", "responseBody": { "<functionContentType>": { "body": "JSON-formatted string" } } } }, "sessionAttributes": { "string": "string", }, "promptSessionAttributes": { "string": "string" }, "knowledgeBasesConfiguration": [ { "knowledgeBaseId": "string", "retrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": int, "filter": { RetrievalFilter object } } } }, ... ] }
Daftar berikut menjelaskan bidang respons:
-
messageVersion— Versi pesan yang mengidentifikasi format data peristiwa masuk ke fungsi Lambda dan format respons yang diharapkan dari fungsi Lambda. Amazon Bedrock hanya mendukung versi 1.0. -
response- Berisi informasi berikut tentang respons API.-
actionGroup— Nama kelompok aksi. -
Jika Anda mendefinisikan grup tindakan dengan skema API, bidang berikut dapat berada dalam respons:
-
apiPath— Jalur ke operasi API, seperti yang didefinisikan dalam OpenAPI skema. -
httpMethod— Metode operasi API, seperti yang didefinisikan dalam OpenAPI skema. -
httpStatusCode— Kode status HTTP dikembalikan dari operasi API. -
responseBody— Berisi badan respons, seperti yang didefinisikan dalam OpenAPI skema.
-
-
Jika Anda mendefinisikan grup tindakan dengan detail fungsi, bidang berikut dapat berada dalam respons:
-
responseState(Opsional) — Setel ke salah satu status berikut untuk menentukan perilaku agen setelah memproses tindakan:-
KEGAGALAN — Agen melempar a
DependencyFailedExceptionuntuk sesi saat ini. Berlaku ketika eksekusi fungsi gagal karena kegagalan ketergantungan. -
REPROMPT — Agen meneruskan string respons ke model untuk meminta ulang. Berlaku ketika eksekusi fungsi gagal karena input yang tidak valid.
-
-
responseBody— Berisi objek yang mendefinisikan respons dari eksekusi fungsi. Kuncinya adalah jenis konten (saatTEXTini hanya didukung) dan nilainya adalah objekbodyyang berisi respons.
-
-
-
(Opsional)
sessionAttributes— Berisi atribut sesi dan nilainya. Untuk informasi selengkapnya, lihat Atribut sesi sesi dan prompt. -
(Opsional)
promptSessionAttributes— Berisi atribut prompt dan nilainya. Untuk informasi selengkapnya, lihat Atribut sesi sesi dan prompt. -
(Opsional)
knowledgeBasesConfiguration— Berisi daftar konfigurasi kueri untuk basis pengetahuan yang dilampirkan ke agen. Untuk informasi selengkapnya, lihat Konfigurasi pengambilan basis pengetahuan.
Kelompok tindakan Contoh fungsi Lambda
Berikut ini adalah contoh minimal tentang bagaimana fungsi Lambda dapat didefinisikan diPython. Pilih tab yang sesuai dengan apakah Anda mendefinisikan grup tindakan dengan OpenAPI skema atau dengan detail fungsi: