View a markdown version of this page

Sertakan metadata dalam sumber data untuk meningkatkan kueri basis pengetahuan - Amazon Bedrock

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

Sertakan metadata dalam sumber data untuk meningkatkan kueri basis pengetahuan

Saat menelan file CSV (nilai terpisah koma), Anda memiliki kemampuan untuk memiliki basis pengetahuan yang memperlakukan kolom tertentu sebagai bidang konten versus bidang metadata. Alih-alih berpotensi memiliki ratusan atau ribuan pasangan content/metadata file, Anda sekarang dapat memiliki satu file CSV dan file metadata.json yang sesuai, memberikan petunjuk basis pengetahuan tentang cara memperlakukan setiap kolom di dalam CSV Anda.

Ada batasan untuk metadata dokumen fields/attributes per potongan. Lihat Kuota untuk basis pengetahuan

Sebelum menelan file CSV, pastikan:

  • CSV Anda dalam format RFC4180 dan dikodekan. UTF-8

  • Baris pertama CSV Anda mencakup informasi header.

  • Bidang metadata yang disediakan di metadata.json Anda hadir sebagai kolom di CSV Anda.

  • Anda menyediakan file Name.csv.metadata.json file dengan format berikut:

    { "metadataAttributes": { "${attribute1}": "${value1}", "${attribute2}": "${value2}", ... }, "documentStructureConfiguration": { "type": "RECORD_BASED_STRUCTURE_METADATA", "recordBasedStructureMetadata": { "contentFields": [ { "fieldName": "string" } ], "metadataFieldsSpecification": { "fieldsToInclude": [ { "fieldName": "string" } ], "fieldsToExclude": [ { "fieldName": "string" } ] } } } }

File CSV diurai satu baris pada satu waktu dan strategi chunking dan penyematan vektor diterapkan ke bidang konten. Basis pengetahuan Amazon Bedrock saat ini mendukung satu bidang konten. Bidang konten dibagi menjadi beberapa bagian, dan bidang metadata (kolom) yang terkait dengan setiap potongan diperlakukan sebagai nilai string.

Misalnya, ada CSV dengan kolom 'Deskripsi' dan kolom 'Creation_Date'. Bidang deskripsi adalah bidang konten dan tanggal pembuatan adalah bidang metadata terkait. Teks deskripsi dibagi menjadi beberapa bagian dan diubah menjadi embeddings vektor untuk setiap baris di CSV. Nilai tanggal pembuatan diperlakukan sebagai representasi string tanggal dan dikaitkan dengan setiap potongan untuk deskripsi.

Jika tidak ada inclusion/exclusion bidang yang disediakan, semua kolom diperlakukan sebagai kolom metadata, kecuali kolom konten. Jika hanya bidang inklusi yang disediakan, hanya kolom yang disediakan yang diperlakukan sebagai metadata. Jika hanya bidang pengecualian yang disediakan, semua kolom, kecuali kolom pengecualian diperlakukan sebagai metadata. Jika Anda memberikan hal yang sama fieldName di keduanya fieldsToInclude danfieldsToExclude, Amazon Bedrock melempar pengecualian validasi. Jika ada konflik antara inklusi dan pengecualian, itu akan mengakibatkan kegagalan.

Baris kosong yang ditemukan di dalam CSV diabaikan atau dilewati.

Contoh: Multi-row CSV dengan metadata

Contoh berikut menunjukkan file CSV lengkap dan file JSON metadata yang sesuai.

Contoh file CSV () properties.csv

description,city,price,bedrooms "Spacious 3-bedroom home with updated kitchen and large backyard.",Seattle,450000,3 "Modern downtown condo with floor-to-ceiling windows and city views.",Portland,325000,2 "Charming craftsman bungalow with original hardwood floors.",Austin,275000,2

File metadata yang sesuai () properties.csv.metadata.json

{ "metadataAttributes": { "source": "property_listings_2024" }, "documentStructureConfiguration": { "type": "RECORD_BASED_STRUCTURE_METADATA", "recordBasedStructureMetadata": { "contentFields": [ { "fieldName": "description" } ], "metadataFieldsSpecification": { "fieldsToInclude": [ { "fieldName": "city" }, { "fieldName": "price" } ] } } } }

Dalam contoh ini:

  • contentFields- Menentukan satu kolom (description) sebagai konten yang akan dipotong dan disematkan. Hanya satu bidang konten yang didukung.

  • fieldsToInclude- Menentukan kolom mana (citydanprice) untuk memperlakukan sebagai metadata disaring. bedroomsKolom dikecualikan karena tidak terdaftar.

  • metadataAttributes— Menentukan metadata tingkat dokumen diterapkan untuk setiap potongan dari CSV ini. Dalam contoh ini, source adalah atribut statis diterapkan ke semua baris.

Setiap baris menghasilkan satu potongan. Untuk baris pertama, teks potongan adalah deskripsi, dan metadata adalahcity: "Seattle",, price: "450000" dan. source: "property_listings_2024" Semua nilai metadata dari kolom CSV disimpan sebagai string.

Tipe data metadata yang didukung

Tipe data berikut didukung untuk atribut metadata:

  • STRING— Nilai teks.

  • NUMBER— Nilai numerik. Saat menggunakan konfigurasi CSV-based metadata yang dijelaskan di halaman ini, nilai angka disimpan sebagai string.

  • BOOLEAN— Nilai benar atau salah.

  • STRING_LIST— Daftar nilai string.

Untuk skema atribut metadata lengkap yang digunakan dalam memfilter kueri, lihat MetadataAttributeSchemadi Referensi API.

Selain konfigurasi CSV-based metadata yang dijelaskan di halaman ini, Anda juga dapat mengonfigurasi metadata menggunakan .metadata.json file sespan untuk jenis dokumen apa pun di sumber data Amazon S3. Metode ini mendukung set lengkap tipe data dan includeForEmbedding opsi. Untuk informasi selengkapnya, lihat Bidang metadata dokumen.

Untuk mempelajari cara memfilter hasil kueri menggunakan metadata, lihat bagian Templat prompt basis pengetahuan di. Konfigurasikan dan sesuaikan kueri dan pembuatan respons