

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
<a name="kb-test-agentic-retrieve"></a>

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
<a name="kb-agentic-retrieve-how-it-works"></a>

Saat Anda mengirim permintaan ke `AgenticRetrieveStream` API, proses berikut 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 dasar mengevaluasi apakah mereka cukup untuk menjawab kueri asli. Jika tidak, ia merencanakan dan mengeksekusi iterasi pengambilan tambahan, hingga maksimum yang dikonfigurasi.

1. **Pengambilan ** — Sub-kueri dijalankan terhadap pengambil basis pengetahuan yang dikonfigurasi. Hasil dikumpulkan dari setiap pengambilan.

1. **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.

1. **Pembuatan respons ** — Ketika `generateResponse` disetel ke `true` (default), model dasar mensintesis jawaban bahasa alami dari hasil yang diambil. Jawabannya dialirkan kembali kepada Anda melalui `responseEvent` acara.

1. **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
<a name="kb-agentic-retrieve-prereqs"></a>

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](#kb-agentic-retrieve-permissions).

## Kueri basis pengetahuan dengan pengambilan agen
<a name="kb-agentic-retrieve-api"></a>

Untuk menggunakan pengambilan agen, kirim permintaan. [`AgenticRetrieveStream`](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_AgenticRetrieveStream.html) Respons adalah aliran yang mencakup hasil pengambilan dan peristiwa pelacakan.

Tabel berikut menjelaskan bidang permintaan kunci:


**Bidang wajib**  

| 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 opsional**  

| 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. | 
| 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`](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_AgenticRetrieveStream.html) di referensi API.

## Respon pengambilan agen
<a name="kb-agentic-retrieve-response"></a>

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`) - Ketika `generateResponse` diset `true` el ke (default), peristiwa hasil menyertakan `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 `answer` string.
      + `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, menunjukkan hasil pengambilan mana yang mendukung rentang yang dikutip.
+ **Response events ** (`AgenticRetrieveResponseEvent`) — Ketika `generateResponse` diset `true` el ke (default), `responseEvent` peristiwa dialirkan selama pembuatan respons. Setiap peristiwa 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 pelacakan:
  + **Perencanaan ** — Menunjukkan model dasar menganalisis kueri dan membuat sub-kueri. Termasuk tindakan yang direncanakan dan target retriever.
  + **Pengambilan ** — Menunjukkan pengambilan sedang dieksekusi 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, pengambil sumber, dan status (InProgress, Sukses, atau Gagal).

## Izin yang diperlukan untuk pengambilan agen
<a name="kb-agentic-retrieve-permissions"></a>

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 agen, tambahkan izin berikut:

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

## Pertimbangan-pertimbangan
<a name="kb-agentic-retrieve-considerations"></a>

Ingatlah hal berikut saat menggunakan pengambilan agen:
+ Pengambilan agen 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](kb-managed-quotas.md)
+ 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. T `MASK` indakan 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-model ini.