Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan pengambilan agentik untuk mengueri basis pengetahuan
Pengambilan agentic menggunakan model dasar untuk secara cerdas menguraikan kueri kompleks menjadi sub-kueri, secara berulang mengambil informasi yang relevan dari basis pengetahuan Anda, dan mengevaluasi apakah hasil yang diambil cukup untuk menjawab kueri asli. Pendekatan ini meningkatkan akurasi pengambilan untuk pertanyaan multi-langkah yang kompleks yang mungkin tidak sepenuhnya ditangani oleh satu jalur pengambilan.
Misalnya, mengingat pertanyaan “Majalah mana yang dimulai lebih dulu, Majalah Arthur atau Pertama untuk Wanita?” , pengambilan agen memecah ini menjadi sub-kueri terpisah seperti “Kapan Majalah Arthur didirikan?” dan “Kapan First for Women didirikan?” , mengambil hasil untuk masing-masing, dan mengevaluasi apakah hasil gabungan cukup.
Cara kerja pengambilan agen
Saat Anda mengirim permintaan ke AgenticRetrieveStream API, proses berikut terjadi:
-
Pemuatan riwayat sesi — Saat Anda menyediakan
memoryConfigurationyang menyertakan asessionBinding, Amazon Bedrock mengembalikan riwayat sesi sebelumnya dari AgentCore memori jangka pendek Memory sebelum agen mulai bekerja. Riwayat yang dipulihkan menjadi konteks percakapan untuk permintaan. -
Perencanaan — Model dasar menganalisis kueri Anda dan membuat rencana untuk menguraikannya menjadi satu atau lebih sub-kueri. Setiap sub-kueri menargetkan sumber tertentu yang Anda konfigurasi, baik retriever basis pengetahuan atau AgentCore memori jangka panjang Memori. Setelah hasil pengambilan dikumpulkan, model dasar mengevaluasi apakah mereka cukup untuk menjawab kueri asli. Jika tidak, ia merencanakan dan mengeksekusi iterasi pengambilan tambahan, hingga maksimum yang dikonfigurasi.
-
Pengambilan — Sub-query dieksekusi terhadap sumber yang dikonfigurasi. Hasil dikumpulkan dari setiap pengambilan.
-
Ekspansi dokumen lengkap — Ketika model dasar menentukan bahwa konten lengkap dokumen diperlukan (misalnya, untuk ringkasan, untuk memverifikasi kelengkapan, atau untuk mengakses bagian tertentu), ia memanggil GetDocumentContent API untuk mengambil konten dokumen lengkap.
-
Pembuatan respons — Ketika
generateResponsedisetel ketrue(default), model dasar mensintesis jawaban bahasa alami dari hasil yang diambil. Amazon Bedrock mengalirkan jawabannya kembali kepada Anda melaluiresponseEventacara. KetikasessionBindingdisetel danpersistenceModesudahDEFAULT, Amazon Bedrock mempertahankan pertanyaan dan jawaban yang dihasilkan untuk sesi tersebut. -
Peristiwa hasil — Hasil pengambilan yang diduplikasi dari semua iterasi, jawaban dan kutipan bahasa alami yang disintesis lengkap dikembalikan kepada Anda. Peristiwa jejak dialirkan sepanjang proses untuk pengamatan.
Prasyarat
Sebelum Anda dapat menggunakan agentic retrieval, Anda harus memiliki yang berikut:
-
Basis pengetahuan Amazon Bedrock yang dikelola sepenuhnya. Pengambilan agen saat ini hanya mendukung basis pengetahuan terkelola.
-
Akses ke model pondasi di Amazon Bedrock untuk digunakan untuk perencanaan dan evaluasi kueri.
-
Izin IAM yang diperlukan. Untuk informasi selengkapnya, lihat Izin yang diperlukan untuk pengambilan agen.
Kueri basis pengetahuan dengan pengambilan agen
Untuk menggunakan pengambilan agen, kirim permintaan. AgenticRetrieveStream Respons adalah aliran yang mencakup hasil pengambilan dan peristiwa pelacakan.
Tabel berikut menjelaskan bidang permintaan kunci:
| Bidang | Deskripsi |
|---|---|
| pesan | Input query dan riwayat percakapan. Setiap pesan berisi content bidang dengan text nilai dan role bidang (useratauassistant). |
| retriever | Pengambil basis pengetahuan untuk mengambil data. Anda dapat menentukan hingga 5 retriever, masing-masing menunjuk ke basis pengetahuan terkelola berdasarkan ID-nya. Setiap retriever dapat secara opsional menyertakan filter metadata dan jumlah maksimum hasil. |
| agen RetrieveConfiguration | Konfigurasi pengambilan agen, termasuk model dasar untuk digunakan untuk perencanaan dan evaluasi kueri, dan secara opsional model rangking ulang dan jumlah iterasi agen maksimum. |
| Bidang | Deskripsi |
|---|---|
| PolicyKonfigurasi | Mengkonfigurasi pagar pembatas Amazon Bedrock untuk diterapkan selama pengambilan agen. Tentukan a guardrailId danguardrailVersion. |
| Konteks Pengguna | Menyediakan konteks pengguna untuk pemfilteran kontrol akses. |
| Konfigurasi memori | Mengkonfigurasi sumber daya AgentCore Memori untuk digunakan dengan pengambilan. Tentukan amemoryId, lalu sessionBinding untuk memulihkan dan melanjutkan sesi, retrievalConfigs untuk membiarkan agen mengambil dari memori jangka panjang, atau keduanya. Untuk informasi selengkapnya, lihat Gunakan AgentCore Memori dengan pengambilan agen. |
| GenerateResponse | Bidang boolean yang, ketika disetel ke true (default), menginstruksikan model dasar untuk menghasilkan jawaban bahasa alami dari hasil yang diambil. Jawabannya dialirkan kembali sebagai potongan teks dan disertakan dalam acara hasil. |
Untuk sintaks permintaan dan respons lengkap, lihat AgenticRetrieveStream di referensi API.
Respon pengambilan agen
Resp AgenticRetrieveStream onsnya adalah aliran yang berisi jenis peristiwa berikut:
-
Result event (
AgenticRetrieveResultEvent) — Acara terakhir yang dikirimkan saat pemrosesan selesai. Berisi hasil pengambilan dan, ketika pembuatan respons diaktifkan, respons yang dihasilkan. Acara hasil meliputi:-
Hasil pengambilan (
results) — Potongan sumber diambil di semua iterasi. Setiap hasil mencakup konten, pengidentifikasi pengambil sumber, dan metadata opsional. Ketika potongan yang sama diambil oleh beberapa sub-kueri, itu hanya muncul sekali dalam hasil akhir. -
Generated response (
generatedResponse) - KetikagenerateResponsedisettrueel ke (default), peristiwa hasil menyertakangeneratedResponseobjek yang berisi:-
answer— Teks jawaban bahasa alami yang disintesis lengkap. -
citations— Daftar opsional yang memetakan rentang jawaban untuk mendukung hasil pengambilan. Setiap kutipan berisi:-
startIndex— Karakter offset di mana bagian yang dikutip dimulai di dalamanswerstring. -
endIndex— Karakter offset di mana bagian yang dikutip berakhir (eksklusif — teks yang dikutip berjalan daristartIndexhingga tetapi tidak termasukendIndex). -
references- Daftar di mana setiap referensi memilikiresultIndexbidang yang mengindeks ke dalamresultsarray pada peristiwa hasil yang sama, menunjukkan hasil pengambilan mana yang mendukung rentang yang dikutip.
-
-
-
-
Response events (
AgenticRetrieveResponseEvent) — KetikagenerateResponsedisettrueel ke (default),responseEventperistiwa dialirkan selama pembuatan respons. Setiap peristiwa berisitextbidang dengan bagian tambahan dari jawaban bahasa alami yang disintesis. -
Trace events (
AgenticRetrieveTraceEvent) — Peristiwa yang dialirkan selama proses pengambilan agen yang memberikan visibilitas ke setiap langkah. Ini adalah jenis peristiwa jejak:-
Perencanaan — Menunjukkan model dasar menganalisis kueri dan membuat sub-kueri. Termasuk tindakan yang direncanakan dan sumber target. Setiap tindakan adalah
retrievetindakan yang menargetkan basis pengetahuan ataumemoryRetrievetindakan yang menargetkan memori jangka panjang, yang mencakup kueri yang disusun danmemoryId. -
Pengambilan - Menunjukkan pengambilan sedang dijalankan terhadap sumber yang dikonfigurasi. Termasuk input pengambilan, output, dan peringatan atau kegagalan apa pun. En
retrievalMetadatatri melaporkan jenis sumber, baikBedrockKnowledgeBaseatauBedrockAgentCoreMemory. -
Pengambilan spekulatif — Pengambilan awal yang berjalan sebelum langkah perencanaan pertama untuk mengurangi latensi. Untuk basis pengetahuan tunggal, ini mengambil hasil menggunakan kueri pengguna mentah. Untuk beberapa basis pengetahuan, ini melakukan pencarian probe untuk membantu merutekan kueri ke retriever yang sesuai. Saat Anda mengkonfigurasi
retrievalConfigs, langkah ini juga dapat mengambil dari memori jangka panjang. -
Ekspansi dokumen lengkap — Menunjukkan agen mengambil konten lengkap dari dokumen tertentu. Termasuk ID dokumen, pengambil sumber, dan status (InProgress, Sukses, atau Gagal).
-
Pemuatan riwayat sesi — Menunjukkan bahwa Amazon Bedrock memulihkan riwayat sesi sebelumnya dari AgentCore memori jangka pendek Memori, sebelum agen mulai bekerja.
-
Gunakan AgentCore Memori dengan pengambilan agen
Anda dapat memberikan akses pengambilan agen ke sumber daya Amazon Bedrock Memory AgentCore . Dengan akses memori, pengambilan dapat melanjutkan sesi sebelumnya dan memanfaatkan apa yang telah dipelajari agen di sesi sebelumnya. Menye memoryConfiguration diakan bidang dengan sumber daya memori di akun Anda yang ada di ACTIVE negara bagian. memoryId
Memori adalah opsional. A memoryConfiguration yang menetapkan hanya a memoryId tidak valid. Saat Anda memas memoryConfiguration ok, Anda harus menggunakan sumber daya memori setidaknya dalam salah satu dari dua cara berikut:
-
Short-term memory (
sessionBinding) —Mengembalikan riwayat sesi sebelumnya sehingga permintaan melanjutkan sesi itu alih-alih memulai baru. Identifikasi sesi denganactorIda dan asessionId. CactorIdakupan sejarah, jadi sejarah satu aktor tidak pernah dikembalikan untuk yang lain. KetikasessionBindingdisetel,messagesharus membawa hanya kueri saat ini, denganrolea ofuser. Anda tidak dapat memulihkan sesi dan memberikan riwayat percakapan sebelumnyamessagesdalam permintaan yang sama. Pemulihan memuat peristiwa percakapan dengan peranUSERatauASSISTANT. -
Long-term memory (
retrievalConfigs) —Membuat catatan AgentCore memori yang diekstraksi Memori dari sesi sebelumnya tersedia untuk agen. Identifikasi catatan dengannamespaceawalan, atau dengannamespacePathuntuk mengambil di setiap namespace di bawah induk. Anda dapat mempersempit hasil lebih lanjut denganstrategyIda dan denganmetadataFilters. Agen memutuskan apakah akan mengambil dan menyusun kuerinya sendiri.
Menyediakan ruang nama persis seperti yang dikonfigurasi pada strategi memori, dengan placeholder sudah diselesaikan. Misalnya, jika strategi mendefinisikan namespace/strategy/{memoryStrategyId}/actor/{actorId}, berikan nilai yang diselesaikan daripada template. Untuk informasi selengkapnya tentang ruang nama, strategi, dan catatan memori, lihat Terminologi memori di Panduan Pengembang Amazon Bedrock AgentCore .
catatan
Anda bertanggung jawab untuk menyediakan retrievalConfigs nilai memoryIdsessionBinding, dan yang benar. Pengambilan agentic tidak memverifikasi bahwa sesi atau ruang nama yang Anda berikan sesuai dengan percakapan yang ingin Anda lanjutkan. Jika Anda memberikan nilai yang salah, Anda menerima hasil yang tidak terduga.
Ketika sessionBinding diatur, gunakan persistenceMode untuk mengontrol apakah pertukaran saat ini ditulis kembali ke sesi:
-
DEFAULT(default) —Mempertahankan pertanyaan dan jawaban yang dihasilkan untuk sesi sebagai satu peristiwa. Nilai inigenerateResponseharus adatrue. -
NONE—Membiarkan sesi tidak berubah. Gunakan nilai ini untuk membaca riwayat sesi tanpa menambahkannya.
Contoh berikut mengembalikan sesi sebelumnya, memberikan agen akses ke memori jangka panjang aktor tersebut, dan mempertahankan pertukaran kembali ke sesi:
{ "messages": [ { "content": { "text": "What did we decide about the migration timeline?" }, "role": "user" } ], "retrievers": [ { "configuration": { "knowledgeBase": { "knowledgeBaseId": "KB12345678" } } } ], "agenticRetrieveConfiguration": { "foundationModelType": "MANAGED", "rerankingModelType": "MANAGED" }, "memoryConfiguration": { "memoryId": "projectAssistantMemory-1a2b3c4d5e", "sessionBinding": { "actorId": "user-123", "sessionId": "session-456" }, "retrievalConfigs": [ { "namespace": "/strategy/summarization-1a2b3c4d5e/actor/user-123" } ], "persistenceMode": "DEFAULT" } }
Aliran respons melaporkan aktivitas memori. Pemulihan muncul sebagai peristiwa pel acakan pemuatan riwayat sesi. Catatan yang dikembalikan memori jangka panjang muncul pada peristiwa pel acakan pengambilan dengan jenis sumberBedrockAgentCoreMemory, langkah mana pun yang mengambilnya.
Bagaimana pengambilan itu sendiri muncul tergantung pada kapan itu terjadi. Ketika model dasar memilih untuk mencari memori (tipikal pada sesi lanjutan), pengambilan muncul sebagai memoryRetrieve tindakan pada peristiwa pelac akan perencanaan. Pada sesi baru, agen malah dapat mengambil memori jangka panjang selama pengambilan Spekulatif, sebelum langkah perencanaan pertama, dalam hal ini ia tidak memoryRetrieve mengeluarkan tindakan. Untuk informasi selengkapnya, lihat Respon pengambilan agen.
Izin yang diperlukan untuk pengambilan agen
Untuk menggunakan AgenticRetrieveStream API, identitas IAM yang memanggil harus memiliki izin berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:AgenticRetrieveStream", "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:region:account-id:knowledge-base/*" }, { "Effect": "Allow", "Action": "bedrock:InvokeModelWithResponseStream", "Resource": "*" } ] }
Jika Anda menggunakan pagar pembatas dengan pengambilan agentic, tambahkan izin berikut:
{ "Effect": "Allow", "Action": [ "bedrock:GetGuardrail", "bedrock:ApplyGuardrail" ], "Resource": "*" }
Jika Anda menggunakan sumber daya AgentCore Memori dengan pengambilan agentic, tambahkan izin berikut:
{ "Effect": "Allow", "Action": [ "bedrock-agentcore:GetMemory", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords", "bedrock-agentcore:CreateEvent" ], "Resource": "arn:aws:bedrock-agentcore:region:account-id:memory/memory-id" }
bedrock-agentcore:ListEventsdiperlukan hanya ketika Anda mengatursessionBinding. bedrock-agentcore:RetrieveMemoryRecordsdiperlukan hanya ketika Anda mengaturretrievalConfigs. bedrock-agentcore:CreateEventdiperlukan hanya ketika persistenceMode adaDEFAULT.
Jika sumber daya memori dienkripsi dengan kunci yang dikelola pelanggan, tambahkan izin berikut pada kunci tersebut:
{ "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id" }
Pertimbangan-pertimbangan
Ingatlah hal berikut saat menggunakan pengambilan agen:
-
Pengambilan agentic hanya mendukung basis pengetahuan Amazon Bedrock yang dikelola.
-
Untuk kuota pengambil per permintaan, hasil per panggilan pengambilan, dan iterasi agen maksimum, lihat. Kuota layanan untuk basis pengetahuan terkelola
-
Mengurangi jumlah iterasi maksimum dapat menyebabkan agen berhenti lebih awal, berpotensi mengurangi akurasi untuk kueri kompleks.
-
Saat mengonfigurasi pagar pembatas, hanya
BLOCKtindakan yang didukung. TMASKindakan tidak didukung dengan pengambilan agen. -
Pelanggan menyediakan dan memiliki model pondasi, model embedding, dan model reranking yang digunakan selama pengambilan agen jika disediakan. KredenSIAL IAM Anda digunakan untuk memanggil model ini.
-
Saat Anda menggunakan sumber daya AgentCore Memori, sumber daya harus berada di akun yang sama dengan basis pengetahuan dan harus dalam
ACTIVEstatus. -
Ketika Anda mengatur
sessionBinding,messagesharus membawa hanya kueri saat ini, dengan aroleofuser. Anda tidak dapat memulihkan sesi dan memberikan riwayat percakapan sebelumnyamessagesdalam permintaan yang sama. -
Memulihkan sesi memuat peristiwa percakapan dengan peran
USERatauASSISTANT. AgentCore Memori juga menerimaOTHERperanTOOLdan, yang tidak dimuat oleh pemulihan. Untuk informasi selengkapnya, lihatConversationaldi Refer ensi AgentCore API Amazon Bedrock. -
retrievalConfigssaat ini menerima paling banyak satu entri, dan setiap entri menerima maksimal 5metadataFiltersekspresi. -
A
persistenceModeofDEFAULTgenerateResponseharus menjaditrue, karena sesi mempertahankan jawaban yang dihasilkan.