View a markdown version of this page

Mengkonfigurasi dan menyesuaikan kueri untuk basis pengetahuan terkelola - Amazon Bedrock

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

Mengkonfigurasi dan menyesuaikan kueri untuk basis pengetahuan terkelola

Anda dapat mengonfigurasi dan menyesuaikan pengambilan, lebih lanjut meningkatkan relevansi hasil. Misalnya, Anda dapat menerapkan filter ke metadata dokumen fields/attributes untuk menggunakan dokumen atau dokumen terbaru yang diperbarui dengan waktu modifikasi terbaru.

catatan

Semua konfigurasi berikut hanya berlaku untuk sumber data tidak terstruktur.

Untuk mempelajari lebih lanjut tentang konfigurasi ini di konsol atau API, pilih dari topik berikut:

Saat Anda menanyakan basis pengetahuan, Amazon Bedrock mengembalikan hingga lima hasil dalam respons secara default. Setiap hasil sesuai dengan potongan sumber.

catatan

Jumlah aktual hasil dalam respons mungkin kurang dari numberOfResults nilai yang ditentukan, karena parameter ini menetapkan jumlah maksimum hasil yang akan dikembalikan. Jika Anda telah mengonfigurasi pemotongan hierarkis untuk strategi chunking Anda, numberOfResults parameter memetakan ke jumlah potongan anak yang akan diambil basis pengetahuan. Karena potongan turunan yang berbagi potongan induk yang sama diganti dengan potongan induk dalam respons akhir, jumlah hasil yang dikembalikan mungkin kurang dari jumlah yang diminta.

Untuk mengubah jumlah maksimum hasil yang akan dikembalikan, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

Console

Ikuti langkah-langkah konsol diKueri basis pengetahuan dan ambil data. Di panel Konfigurasi, perluas bagian potongan Sumber dan masukkan jumlah maksimum potongan sumber untuk dikembalikan.

API

Saat Anda membuat RetrieveAndGenerate permintaan Retrieve atau, sertakan retrievalConfiguration bidang, dipetakan ke KnowledgeBaseRetrievalConfiguration objek. Untuk melihat lokasi bidang ini, lihat Retrieve dan RetrieveAndGenerate permintaan badan di referensi API.

Objek JSON berikut menunjukkan bidang minimal yang diperlukan dalam KnowledgeBaseRetrievalConfiguration objek untuk mengatur jumlah maksimum hasil yang akan dikembalikan:

"retrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": number } }

Tentukan jumlah maksimum hasil yang diambil (lihat numberOfResults bidang di KnowledgeBaseRetrievalConfiguration untuk kisaran nilai yang diterima) untuk dikembalikan di numberOfResults bidang.

Anda dapat menerapkan filter ke dokumen fields/attributes untuk membantu Anda lebih meningkatkan relevansi tanggapan. Sumber data Anda dapat menyertakan metadata dokumen attributes/fields untuk difilter dan dapat menentukan bidang mana yang akan disertakan dalam penyematan.

Pertimbangan basis pengetahuan terkelola

Saat menggunakan pemfilteran metadata dengan basis pengetahuan terkelola:

  • Filter startsWith dan stringContains metadata tidak didukung. Gunakanequals,,greaterThan,lessThan,in, atau notIn operator sebagai gantinya.

  • Operator rentang (greaterThangreaterThanOrEquals,lessThan,, danlessThanOrEquals) menerima angka atau nilai tanggal-waktu. Untuk memfilter tanggal-waktu, berikan nilai sebagai string dalam format tanggal-waktu ISO-8601 offset. Gunakan formulir offset penuh, misalnya,2026-03-02T19:02:18Z. Operator rentang mendukung nilai string tanggal-waktu hanya untuk basis pengetahuan terkelola.

  • Untuk basis pengetahuan khusus, bidang metadata yang diawali dengan x-amz-bedrock dicadangkan oleh layanan. Untuk basis pengetahuan yang dikelola sepenuhnya, bidang metadata yang dicadangkan menggunakan awalan garis bawah (misalnya,_source_uri,_data_source_id). Anda tidak dapat mengganti bidang metadata yang dicadangkan di salah satu jenis basis pengetahuan.

Misalnya, “epoch_modifiation_time” mewakili waktu dalam jumlah detik sejak 1 Januari 1970 (UTC) ketika dokumen terakhir diperbarui. Anda dapat memfilter pada data terbaru, di mana “epoch_modifiation_time” lebih besar dari angka tertentu. Dokumen terbaru ini dapat digunakan untuk kueri.

Untuk menggunakan filter saat menanyakan basis pengetahuan, periksa apakah basis pengetahuan Anda memenuhi persyaratan berikut:

  • Saat mengonfigurasi konektor sumber data Anda, sebagian besar konektor merayapi bidang metadata utama dokumen Anda. Jika Anda menggunakan bucket Amazon S3 sebagai sumber data, bucket harus menyertakan setidaknya satu fileName.extension.metadata.json untuk file atau dokumen yang terkait dengannya. Lihat Bidang metadata dokumen Konfigurasi koneksi untuk informasi selengkapnya tentang mengonfigurasi file metadata.

  • Jika indeks vektor basis pengetahuan Anda berada di penyimpanan vektor Amazon OpenSearch Serverless, periksa apakah indeks vektor dikonfigurasi dengan faiss mesin. Jika indeks vektor dikonfigurasi dengan nmslib mesin, Anda harus melakukan salah satu hal berikut:

  • Jika basis pengetahuan Anda menggunakan indeks vektor dalam bucket vektor S3, Anda tidak dapat menggunakan stringContains filter startsWith dan.

  • Jika Anda menambahkan metadata ke indeks vektor yang ada di cluster database Amazon Aurora, sebaiknya berikan nama bidang kolom metadata kustom untuk menyimpan semua metadata Anda dalam satu kolom. Selama penyerapan data, kolom ini akan digunakan untuk mengisi semua informasi dalam file metadata Anda dari sumber data Anda. Jika Anda memilih untuk memberikan bidang ini, Anda harus membuat indeks pada kolom ini.

    • Saat Anda membuat basis pengetahuan baru di konsol dan membiarkan Amazon Bedrock mengonfigurasi database Amazon Aurora Anda, itu akan secara otomatis membuat satu kolom untuk Anda dan mengisinya dengan informasi dari file metadata Anda.

    • Ketika Anda memilih untuk membuat indeks vektor lain di penyimpanan vektor, Anda harus memberikan nama bidang metadata khusus untuk menyimpan informasi dari file metadata Anda. Jika Anda tidak memberikan nama bidang ini, Anda harus membuat kolom untuk setiap atribut metadata dalam file Anda dan menentukan jenis data (teks, angka, atau boolean). Misalnya, jika atribut genre ada di sumber data Anda, Anda akan menambahkan kolom bernama genre dan tentukan text sebagai tipe data. Selama konsumsi, kolom terpisah ini akan diisi dengan nilai atribut yang sesuai.

Jika Anda memiliki dokumen PDF di sumber data Anda dan menggunakan Amazon OpenSearch Serverless atau Amazon Aurora untuk toko vektor Anda: Basis pengetahuan Amazon Bedrock akan menghasilkan nomor halaman dokumen dan menyimpannya dalam metadata yang field/attribute disebut x-amz-bedrock-kb-document-page-number. Perhatikan bahwa nomor halaman yang disimpan dalam bidang metadata tidak didukung jika Anda memilih tidak memotong untuk dokumen Anda.

Anda dapat menggunakan operator pemfilteran berikut untuk memfilter hasil saat Anda menanyakan:

Operator penyaringan
Operator Konsol Nama filter API Jenis data atribut yang didukung Hasil yang difilter
Sama dengan = sama string, angka, boolean Atribut cocok dengan nilai yang Anda berikan
Tidak sama != CatatanKualitas string, angka, boolean Atribut tidak cocok dengan nilai yang Anda berikan
Lebih besar dari > Lebih besarDari number Atribut lebih besar dari nilai yang Anda berikan
Lebih besar dari atau sama >= lebih besar ThanOrEquals number Atribut lebih besar dari atau sama dengan nilai yang Anda berikan
Kurang dari < Kurang dari number Atribut kurang dari nilai yang Anda berikan
Kurang dari atau sama <= kurang ThanOrEquals number Atribut kurang dari atau sama dengan nilai yang Anda berikan
Masuk : di daftar string Atribut ada dalam daftar yang Anda berikan (saat ini paling didukung dengan toko vektor Amazon OpenSearch Serverless dan Neptune Analytics GraphRag)
Tidak masuk !: Tidak ada daftar string Atribut tidak ada dalam daftar yang Anda berikan (saat ini didukung paling baik dengan toko vektor Amazon OpenSearch Serverless dan Neptune Analytics GraphRag)
String berisi Tidak tersedia StringBerisi string Atribut harus berupa string. Nama atribut cocok dengan kunci dan nilainya adalah string yang berisi nilai yang Anda berikan sebagai substring, atau daftar dengan anggota yang berisi nilai yang Anda berikan sebagai substring (saat ini paling baik didukung dengan Amazon OpenSearch Serverless vector store. Penyimpanan vektor GraphRag Neptune Analytics mendukung varian string tetapi bukan varian daftar filter ini).
Daftar berisi Tidak tersedia DaftarBerisi string Atribut harus berupa daftar string. Nama atribut cocok dengan kunci dan nilainya adalah daftar yang berisi nilai yang Anda berikan sebagai salah satu anggotanya (saat ini didukung paling baik dengan penyimpanan vektor Amazon OpenSearch Serverless).

Untuk menggabungkan operator penyaringan, Anda dapat menggunakan operator logis berikut:

Operator logis
Operator Konsol Nama bidang filter API Hasil yang difilter
Dan and Dan semua Hasil memenuhi semua ekspresi pemfilteran dalam grup
Atau atau atauSemua Hasil memenuhi setidaknya satu ekspresi pemfilteran dalam grup

Untuk mempelajari cara memfilter hasil menggunakan metadata, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

Console

Ikuti langkah-langkah konsol diKueri basis pengetahuan dan ambil data. Saat Anda membuka panel Konfigurasi, Anda akan melihat bagian Filter. Prosedur berikut menjelaskan kasus penggunaan yang berbeda:

  • Untuk menambahkan filter, buat ekspresi pemfilteran dengan memasukkan atribut metadata, operator pemfilteran, dan nilai dalam kotak. Pisahkan setiap bagian ekspresi dengan spasi putih. Tek an Enter untuk menambahkan filter.

    Untuk daftar operator penyaringan yang diterima, lihat tabel Operator pen yaringan di atas. Anda juga dapat melihat daftar operator pemfilteran saat menambahkan spasi setelah atribut metadata.

    catatan

    Anda harus mengelilingi string dengan tanda kutip.

    Misalnya, Anda dapat memfilter hasil dari dokumen sumber yang berisi atribut genre metadata yang nilainya "entertainment" dengan menambahkan filter berikut:genre = "entertainment".

    Tambahkan satu filter.
  • Untuk menambahkan filter lain, masukkan ekspresi penyaringan lain di kotak dan tekan Enter. Anda dapat menambahkan hingga 5 filter dalam grup.

    Tambahkan filter lain.
  • Secara default, kueri akan mengembalikan hasil yang memenuhi semua ekspresi pemfilteran yang Anda berikan. Untuk mengembalikan hasil yang memenuhi setidaknya satu ekspresi pemfilteran, pilih menu tarik- turun dan di antara dua operasi pemfilteran dan pilih atau.

    Ubah operasi logis antar filter.
  • Untuk menggabungkan operator logis yang berbeda, pilih + Tam bah Grup untuk menambahkan grup filter. Masukkan ekspresi pemfilteran di grup baru. Anda dapat menambahkan hingga 5 grup filter.

    Tambahkan grup filter untuk menggabungkan operator logis yang berbeda.
  • Untuk mengubah operator logis yang digunakan di antara semua grup pemfilteran, pilih menu dropdown AND di antara dua grup filter dan pilih OR.

    Ubah operasi logis antara grup filter.
  • Untuk mengedit filter, pilih filter, ubah operasi pemfilteran, dan pilih Ter apkan.

    Edit filter.
  • Untuk menghapus grup filter, pilih ikon tempat sampah ( Trash can icon representing a delete action. ) di sebelah grup. Untuk menghapus filter, pilih ikon hapus ( Close or cancel icon represented by an "X" symbol. ) di sebelah filter.

    Hapus filter atau grup filter.

Gambar berikut menunjukkan contoh konfigurasi filter yang mengembalikan semua dokumen yang ditulis setelah gen 2018 renya"entertainment", selain dokumen yang genrenya "cooking" atau "sports" dan yang penulisnya dimulai"C".

Contoh konfigurasi filter.
API

Saat Anda membuat RetrieveAndGenerate permintaan Retrieve atau, sertakan retrievalConfiguration bidang, dipetakan ke KnowledgeBaseRetrievalConfiguration objek. Untuk melihat lokasi bidang ini, lihat Retrieve dan RetrieveAndGenerate permintaan badan di referensi API.

Objek JSON berikut menunjukkan bidang minimal yang diperlukan dalam KnowledgeBaseRetrievalConfiguration objek untuk mengatur filter untuk kasus penggunaan yang berbeda:

  1. Gunakan satu operator penyaringan (lihat tabel operator penyaringan di atas).

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } } } }
  2. Gunakan operator logis (lihat tabel operator logis di atas) untuk menggabungkan hingga 5.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] } } }
  3. Gunakan operator logis untuk menggabungkan hingga 5 operator penyaringan ke dalam grup filter, dan operator logis kedua untuk menggabungkan grup filter itu dengan operator pemfilteran lain.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } ] } } }
  4. Gabungkan hingga 5 grup filter dengan menyematkannya dalam operator logis lain. Anda dapat membuat satu tingkat penyematan.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] ] } } }

Tabel berikut menjelaskan jenis filter yang dapat Anda gunakan:

Bidang Jenis data nilai yang didukung Hasil yang difilter
equals string, angka, boolean Atribut cocok dengan nilai yang Anda berikan
notEquals string, angka, boolean Atribut tidak cocok dengan nilai yang Anda berikan
greaterThan number Atribut lebih besar dari nilai yang Anda berikan
greaterThanOrEquals number Atribut lebih besar dari atau sama dengan nilai yang Anda berikan
lessThan number Atribut kurang dari nilai yang Anda berikan
lessThanOrEquals number Atribut kurang dari atau sama dengan nilai yang Anda berikan
in daftar string Atribut ada dalam daftar yang Anda berikan
notIn daftar string Atribut tidak ada dalam daftar yang Anda berikan
startsWith string Atribut dimulai dengan string yang Anda berikan (hanya didukung untuk penyimpanan vektor Amazon OpenSearch Serverless)

Untuk menggabungkan jenis filter, Anda dapat menggunakan salah satu operator logis berikut:

Bidang Peta ke Hasil yang difilter
andAll Daftar hingga 5 jenis filter Hasil memenuhi semua ekspresi pemfilteran dalam grup
orAll Daftar hingga 5 jenis filter Hasil memenuhi setidaknya satu ekspresi pemfilteran dalam grup

Sebagai contoh, lihat Men girim kueri dan sertakan filter (Ambil) dan Men girim kueri dan sertakan filter (RetrieveAndGenerate).

Anda dapat menerapkan perlindungan untuk basis pengetahuan Anda untuk kasus penggunaan dan kebijakan AI yang bertanggung jawab. Anda dapat membuat beberapa pagar pembatas yang disesuaikan dengan kasus penggunaan yang berbeda dan menerapkannya di beberapa kondisi permintaan dan respons, memberikan pengalaman pengguna yang konsisten dan menstandarisasi kontrol keselamatan di seluruh basis pengetahuan Anda. Anda dapat mengonfigurasi topik yang ditolak untuk melarang topik yang tidak diinginkan dan filter konten untuk memblokir konten berbahaya dalam input dan respons model. Untuk informasi selengkapnya, lihat Mendeteksi dan memfilter konten berbahaya dengan menggunakan Amazon Bedrock Guardrails.

catatan

Menggunakan pagar pembatas dengan landasan kontekstual untuk basis pengetahuan saat ini tidak didukung di Claude 3 Sonnet dan Haiku.

Untuk pedoman rekayasa cepat umum, lihatKonsep rekayasa prompt.

Pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

Console

Ikuti langkah-langkah konsol diKueri basis pengetahuan dan ambil data. Di jendela pengujian, aktifkan H asilkan respons. Kemudian, di panel Konfigurasi, perluas bagian Guardrails.

  1. Di bagian Guardrails, pilih Nama dan Versi pagar pembatas Anda. Jika Anda ingin melihat detail pagar pembatas dan versi pilihan Anda, pilih Lihat.

    Atau, Anda dapat membuat yang baru dengan memilih tautan Guardrail.

  2. Setelah selesai mengedit, pilih Simpan perubahan. Untuk keluar tanpa menyimpan pilih Bu ang perubahan.

API

Saat Anda membuat RetrieveAndGenerate permintaan, sertakan guardrailConfiguration bidang di dalam generationConfiguration untuk menggunakan pagar pembatas Anda dengan permintaan. Untuk melihat lokasi bidang ini, lihat badan RetrieveAndGenerate permintaan di referensi API.

Objek JSON berikut menunjukkan bidang minimal yang diperlukan GenerationConfiguration untuk mengaturguardrailConfiguration:

"generationConfiguration": { "guardrailConfiguration": { "guardrailId": "string", "guardrailVersion": "string" } }

Tentukan guardrailId pagar guardrailVersion pembatas pilihan Anda.

Anda dapat menggunakan model reranker untuk melakukan rangking ulang hasil dari kueri basis pengetahuan. Ikuti langkah-langkah konsol diKueri basis pengetahuan dan ambil data. Saat Anda membuka panel Konfigurasi, perluas bagian Reranking. Pilih model reranker, perbarui izin jika perlu, dan ubah opsi tambahan apa pun. Masukkan prompt dan pilih Run untuk menguji hasil setelah rangking ulang.