Mengembalikan kontrol ke pengembang agen dengan mengirimkan informasi yang ditimbulkan sebagai tanggapan InvokeAgent - Amazon Bedrock

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

Mengembalikan kontrol ke pengembang agen dengan mengirimkan informasi yang ditimbulkan sebagai tanggapan InvokeAgent

Daripada mengirimkan informasi yang telah diperoleh agen Anda dari pengguna ke fungsi Lambda untuk pemenuhan, Anda dapat memilih untuk mengembalikan kontrol ke pengembang agen dengan mengirimkan informasi dalam tanggapan. InvokeAgent Anda dapat mengonfigurasi pengembalian kontrol ke pengembang agen saat membuat atau memperbarui grup tindakan. Melalui API, Anda menentukan RETURN_CONTROL sebagai customControl nilai dalam actionGroupExecutor objek dalam UpdateAgentActionGrouppermintaan CreateAgentActionGroupatau. Untuk informasi selengkapnya, lihat Tambahkan grup tindakan ke agen Anda di Amazon Bedrock.

Jika Anda mengonfigurasi pengembalian kontrol untuk grup tindakan, dan jika agen menentukan bahwa ia harus memanggil tindakan dalam grup tindakan ini, API atau detail fungsi yang diperoleh dari pengguna akan dikembalikan di invocationInputs bidang dalam InvokeAgentrespons, di samping yang unik. invocationId Kemudian, Anda dapat melakukan hal berikut:

  • Siapkan aplikasi Anda untuk menjalankan API atau fungsi yang Anda tetapkan, asalkan informasi yang dikembalikan dalaminvocationInputs.

  • Kirim hasil dari permintaan aplikasi Anda dalam InvokeAgentpermintaan lain, di sessionState lapangan, untuk memberikan konteks kepada agen. Anda harus menggunakan yang sama invocationId dan actionGroup yang dikembalikan dalam InvokeAgenttanggapan. Informasi ini dapat digunakan sebagai konteks untuk orkestrasi lebih lanjut, dikirim ke pasca-pemrosesan untuk agen untuk memformat respons, atau digunakan secara langsung dalam respons agen terhadap pengguna.

    catatan

    Jika Anda memasukkan returnControlInvocationResults di sessionState bidang, inputText bidang akan diabaikan.

Untuk mempelajari cara mengonfigurasi pengembalian kontrol ke pengembang agen saat membuat grup tindakan, lihatTambahkan grup tindakan ke agen Anda di Amazon Bedrock.

Contoh untuk mengembalikan kontrol ke pengembang agen

Misalnya, Anda mungkin memiliki grup tindakan berikut:

  • Grup PlanTrip tindakan dengan suggestActivities tindakan yang membantu pengguna Anda menemukan aktivitas yang harus dilakukan selama perjalanan. descriptionUntuk tindakan ini mengatakanThis action suggests activities based on retrieved weather information.

  • Grup WeatherAPIs tindakan dengan getWeather tindakan yang membantu pengguna mendapatkan cuaca untuk lokasi tertentu. Parameter tindakan yang diperlukan adalah location dandate. Grup tindakan dikonfigurasi untuk mengembalikan kontrol ke pengembang agen.

Berikut ini adalah urutan hipotetis yang mungkin terjadi:

  1. Pengguna meminta agen Anda dengan kueri berikut: Kueri What should I do today? ini dikirim di inputText bidang InvokeAgentpermintaan.

  2. Agen Anda mengakui bahwa suggestActivities tindakan harus dipanggil, tetapi dengan deskripsi, memprediksi bahwa itu harus terlebih dahulu memanggil getWeather tindakan sebagai konteks untuk membantu memenuhi tindakan. suggestActivities

  3. Agen tahu bahwa saat date ini2024-09-15, tetapi membutuhkan pengguna sebagai parameter yang diperlukan untuk mendapatkan cuaca. location Ini meminta kembali pengguna dengan pertanyaan “Di mana Anda berada?”

  4. Pengguna merespons. Seattle

  5. Agen mengembalikan parameter untuk getWeather dalam InvokeAgentrespons berikut (pilih tab untuk melihat contoh grup tindakan yang ditentukan dengan metode itu):

    Function details
    HTTP/1.1 200 x-amzn-bedrock-agent-content-type: application/json x-amz-bedrock-agent-session-id: session0 Content-type: application/json { "returnControl": { "invocationInputs": [{ "functionInvocationInput": { "actionGroup": "WeatherAPIs", "function": "getWeather", "parameters": [ { "name": "location", "type": "string", "value": "seattle" }, { "name": "date", "type": "string", "value": "2024-09-15" } ] } }], "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172" } }
    OpenAPI schema
    HTTP/1.1 200 x-amzn-bedrock-agent-content-type: application/json x-amz-bedrock-agent-session-id: session0 Content-type: application/json { "invocationInputs": [{ "apiInvocationInput": { "actionGroup": "WeatherAPIs", "apiPath": "/get-weather", "httpMethod": "get", "parameters": [ { "name": "location", "type": "string", "value": "seattle" }, { "name": "date", "type": "string", "value": "2024-09-15" } ] } }], "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad" }
  6. Aplikasi Anda dikonfigurasi untuk menggunakan parameter ini untuk mendapatkan cuaca seattle untuk tanggal tersebut2024-09-15. Cuaca ditentukan untuk hujan.

  7. Anda mengirim hasil ini di sessionState bidang InvokeAgentpermintaan lain, menggunakan yang samainvocationId,actionGroup, dan function sebagai respons sebelumnya. Pilih tab untuk melihat contoh grup tindakan yang ditentukan dengan metode tersebut:

    Function details
    POST https://bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text { "enableTrace": true, "sessionState": { "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172", "returnControlInvocationResults": [{ "functionResult": { "actionGroup": "WeatherAPIs", "function": "getWeather", "responseBody": { "TEXT": { "body": "It's rainy in Seattle today." } } } }] } }
    OpenAPI schema
    POST https: //bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text { "enableTrace": true, "sessionState": { "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad", "returnControlInvocationResults": [{ "apiResult": { "actionGroup": "WeatherAPIs", "httpMethod": "get", "apiPath": "/get-weather", "responseBody": { "application/json": { "body": "It's rainy in Seattle today." } } } }] } }
  8. Agen memprediksi bahwa itu harus memanggil suggestActivities tindakan. Ini menggunakan konteks bahwa hujan hari itu dan menyarankan aktivitas di dalam ruangan, bukan di luar ruangan, untuk pengguna sebagai tanggapan.