View a markdown version of this page

Gunakan pengambilan agen untuk menanyakan basis pengetahuan - Amazon Bedrock

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

Gunakan pengambilan agen untuk menanyakan basis pengetahuan

Pengambilan agen 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 kompleks dan multi-langkah yang mungkin tidak sepenuhnya ditangani oleh satu jalur pengambilan.

Misalnya, mengingat pertanyaan “Majalah mana yang pertama kali dimulai, Majalah Arthur's atau First for Women?” , pengambilan agen memecah ini menjadi sub-kueri terpisah seperti “Kapan Majalah Arthur's 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 akan terjadi:

  1. Perencanaan — Model dasar menganalisis kueri Anda dan membuat rencana untuk menguraikannya menjadi satu atau lebih sub-kueri. Setiap sub-kueri menargetkan retriever tertentu yang Anda konfigurasikan. Setelah hasil pengambilan dikumpulkan, model pondasi mengevaluasi apakah mereka cukup untuk menjawab kueri asli. Jika tidak, ia merencanakan dan mengeksekusi iterasi pengambilan tambahan, hingga maksimum yang dikonfigurasi.

  2. Retrieval — Sub-query dijalankan terhadap retriever basis pengetahuan yang dikonfigurasi. Hasil dikumpulkan dari setiap pengambilan.

  3. Ekspansi dokumen lengkap — Ketika model dasar menentukan bahwa konten lengkap dokumen diperlukan (misalnya, untuk meringkas, untuk memverifikasi kelengkapan, atau untuk mengakses bagian tertentu), ia memanggil GetDocumentContent API untuk mengambil konten dokumen lengkap.

  4. Generasi respons — Ketika generateResponse diatur ke true (default), model dasar mensintesis jawaban bahasa alami dari hasil yang diambil. Jawabannya dialirkan kembali kepada Anda melalui responseEvent acara.

  5. Peristiwa hasil - Hasil pengambilan yang tidak digandakan dari semua iterasi, jawaban bahasa alami yang disintesis lengkap dan kutipan dikembalikan kepada Anda. Peristiwa jejak dialirkan ke seluruh proses untuk observabilitas.

Prasyarat

Sebelum Anda dapat menggunakan pengambilan agen, Anda harus memiliki yang berikut:

  • Basis pengetahuan Amazon Bedrock yang dikelola sepenuhnya. Pengambilan agen saat ini hanya mendukung basis pengetahuan yang dikelola.

  • Akses ke model dasar 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 Responsnya adalah aliran yang mencakup hasil pengambilan dan peristiwa pelacakan.

Tabel berikut menjelaskan bidang permintaan kunci:

Bidang yang diperlukan
Bidang Deskripsi
pesan Kueri masukan dan riwayat percakapan. Setiap pesan berisi content bidang dengan text nilai dan role bidang (useratauassistant).
retriever Retriever basis pengetahuan untuk mengambil data dari. Anda dapat menentukan hingga 5 retriever, masing-masing menunjuk ke basis pengetahuan terkelola dengan ID-nya. Setiap retriever secara opsional dapat menyertakan filter metadata dan jumlah hasil maksimum.
agen RetrieveConfiguration Konfigurasi pengambilan agen, termasuk model dasar yang akan digunakan untuk perencanaan dan evaluasi kueri, dan secara opsional model reranking dan jumlah iterasi agen maksimum.
Bidang opsional
Bidang Deskripsi
PolicyConfiguration Mengonfigurasi pagar pembatas Amazon Bedrock untuk diterapkan selama pengambilan agen. Tentukan guardrailId danguardrailVersion.
UserContext Menyediakan konteks pengguna untuk pemfilteran kontrol akses.
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 AgenticRetrieveStreamdi referensi API.

Respon pengambilan agen

AgenticRetrieveStreamResponsnya adalah aliran yang berisi jenis acara berikut:

  • Result event (AgenticRetrieveResultEvent) — Acara terakhir yang disampaikan saat pemrosesan selesai. Berisi hasil pengambilan dan, ketika pembuatan respons diaktifkan, respons yang dihasilkan. Acara hasil meliputi:

    • Retrieval results (results) — Potongan sumber diambil di semua iterasi. Setiap hasil mencakup konten, pengenal retriever sumber, dan metadata opsional. Ketika potongan yang sama diambil oleh beberapa sub-kueri, itu hanya muncul sekali dalam hasil akhir.

    • Respons yang dihasilkan (generatedResponse) - Ketika generateResponse diatur ke true (default), peristiwa hasil mencakup generatedResponse objek 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 dalam string. answer

        • endIndex— Karakter offset di mana bagian yang dikutip berakhir (eksklusif — teks yang dikutip berjalan dari startIndex hingga tetapi tidak termasuk). endIndex

        • references— Daftar di mana setiap referensi memiliki resultIndex bidang yang mengindeks ke dalam results array pada peristiwa hasil yang sama, yang menunjukkan hasil pengambilan mana yang mendukung rentang yang dikutip.

  • Response events (AgenticRetrieveResponseEvent) - Ketika generateResponse diatur ke true (default), responseEvent peristiwa dialirkan selama pembuatan respons. Setiap acara berisi text bidang 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 target retriever.

    • Retrieval — Menunjukkan pengambilan sedang dijalankan terhadap basis pengetahuan. Termasuk input pengambilan, output, dan peringatan atau kegagalan apa pun.

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

    • Ekspansi dokumen lengkap - Menunjukkan agen mengambil konten lengkap dari dokumen tertentu. Termasuk ID dokumen, retriever sumber, dan status (, SuksesInProgress, atau Kegagalan).

Izin yang diperlukan untuk pengambilan agen

Untuk menggunakan AgenticRetrieveStream API, identitas IAM pemanggilan 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 agen, tambahkan izin berikut:

{ "Effect": "Allow", "Action": [ "bedrock:GetGuardrail", "bedrock:ApplyGuardrail" ], "Resource": "*" }

Pertimbangan-pertimbangan

Ingatlah hal berikut saat menggunakan pengambilan agen:

  • Pengambilan agen hanya mendukung basis pengetahuan Amazon Bedrock yang dikelola.

  • Untuk kuota pada retriever per permintaan, hasil per panggilan pengambilan, dan iterasi agen maksimum, lihat. Kuota layanan untuk basis pengetahuan yang dikelola

  • Mengurangi jumlah iterasi maksimum dapat menyebabkan agen berhenti lebih awal, berpotensi mengurangi akurasi untuk kueri kompleks.

  • Saat mengonfigurasi pagar pembatas, hanya BLOCK tindakan yang didukung. MASKTindakan ini tidak didukung dengan pengambilan agen.

  • Pelanggan menyediakan dan memiliki model pondasi, model embedding, dan model reranking yang digunakan selama pengambilan agen jika disediakan. Kredensi IAM Anda digunakan untuk memanggil model-model ini.