Pengayaan dan penembolokan inkremental di Azure AI Search
Penting
Fitur ini berada di pratinjau publik dalam ketentuan penggunaan tambahan. REST API pratinjau mendukung fitur ini.
Pengayaan inkremental mengacu pada penggunaan pengayaan cache selama eksekusi skillset sehingga hanya keterampilan dan dokumen baru dan yang diubah yang dikenakan biaya pemrosesan prabayar untuk panggilan API ke layanan Azure AI. Cache berisi output dari pemecahan dokumen, ditambah output dari setiap keterampilan untuk setiap dokumen. Meskipun penembolokan dapat ditagih (menggunakan Azure Storage), biaya keseluruhan pengayaan berkurang karena biaya penyimpanan kurang dari ekstraksi gambar dan pemrosesan AI.
Untuk memastikan sinkronisasi antara data sumber data dan indeks Anda, penting untuk memahami prasyarat pelacakan perubahan dan penghapusan sumber data unik Anda. Panduan ini secara khusus membahas cara mengelola modifikasi inkremental dalam hal pemrosesan keterampilan Anda dan cara menggunakan cache untuk tujuan ini.
Saat Anda mengaktifkan penembolokan, pengindeks mengevaluasi pembaruan Anda untuk menentukan apakah pengayaan yang ada dapat ditarik dari cache. Konten gambar dan teks dari fase pemecahan dokumen, ditambah output keterampilan yang berada upstream atau ortogonal untuk pengeditan Anda, kemungkinan dapat digunakan kembali.
Setelah pemrosesan set keterampilan selesai, hasil yang disegarkan ditulis kembali ke cache, dan juga ke indeks pencarian atau penyimpanan pengetahuan.
Batasan
Perhatian
Jika Anda menggunakan pengindeks SharePoint Online (Pratinjau), Anda harus menghindari pengayaan inkremental. Dalam keadaan tertentu, cache menjadi tidak valid, mengharuskan pengindeks mengatur ulang dan menjalankan, jika Anda memilih untuk memuat ulang.
Konfigurasi singgahan
Secara fisik, cache disimpan dalam kontainer blob di akun Azure Storage Anda, satu per pengindeks. Setiap pengindeks diberi pengidentifikasi cache unik dan tidak dapat diubah yang sesuai dengan kontainer yang digunakannya.
Cache dibuat saat Anda menentukan properti "cache" dan menjalankan pengindeks. Hanya konten yang diperkaya yang dapat di-cache. Jika pengindeks Anda tidak memiliki set keterampilan terlampir, maka penembolokan tidak berlaku.
Contoh berikut ini mengilustrasikan pengindeks dengan penembolokan aktif. Lihat Mengaktifkan penembolokan pengayaan untuk petunjuk lengkapnya.
Untuk menggunakan properti cache, Anda dapat menggunakan pratinjau 2020-06-30 atau yang lebih baru saat membuat atau memperbarui pengindeks. Kami merekomendasikan API pratinjau terbaru.
POST https://[search service name].search.windows.net/indexers?api-version=2024-05-01-rreview
{
"name": "myIndexerName",
"targetIndexName": "myIndex",
"dataSourceName": "myDatasource",
"skillsetName": "mySkillset",
"cache" : {
"storageConnectionString" : "<Your storage account connection string>",
"enableReprocessing": true
},
"fieldMappings" : [],
"outputFieldMappings": [],
"parameters": []
}
Manajemen singgahan
Siklus hidup singgahan dikelola oleh pengindeks. Jika pengindeks dihapus, cache terkait juga akan dihapus. Jika properti cache
pada pengindeks disetel ke null atau string koneksi diubah, singgahan yang ada akan dihapus pada eksekusi pengindeks berikutnya.
Meskipun pengayaan bertahap dirancang untuk mendeteksi dan merespons perubahan tanpa intervensi dari pihak Anda, ada parameter yang dapat Anda gunakan untuk meminta perilaku default:
- Memprioritaskan dokumen baru
- Melewati pemeriksaan skillset
- Melewati pemeriksaan sumber data
- Memaksa evaluasi set keterampilan
Memprioritaskan dokumen baru
Properti cache menyertakan enableReprocessing
parameter. Parameter ini digunakan untuk mengontrol pemrosesan atas dokumen masuk yang sudah terwakili dalam cache. Ketika true (default), dokumen yang sudah ada di cache diolah kembali saat Anda menjalankan ulang pengindeks, dengan asumsi pembaruan keterampilan Anda mempengaruhi dokumen tersebut.
Ketika false, dokumen yang ada tidak diolah ulang, secara efektif memprioritaskan konten baru yang masuk melalui konten yang ada. Anda hanya boleh mengatur enableReprocessing ke false secara sementara. Memiliki enableReprocessing yang diatur ke true sebagian besar waktu memastikan bahwa semua dokumen, baik baru maupun yang sudah ada, valid sesuai definisi set keterampilan saat ini.
Lewati evaluasi skillset
Memodifikasi keterampilan dan pemrosesan ulang keterampilan biasanya berjalan beriringan. Namun, beberapa perubahan pada keterampilan tidak boleh mengakibatkan pemrosesan ulang (misalnya, menyebarkan keterampilan kustom ke lokasi baru atau dengan kunci akses baru). Kemungkinan besar, ini adalah modifikasi periferal yang tidak memiliki dampak asli pada substansi keterampilan itu sendiri.
Jika Anda tahu bahwa perubahan pada keterampilan memang dangkal, Anda harus mengambil alih evaluasi keterampilan dengan mengatur disableCacheReprocessingChangeDetection
parameter ke true:
- Panggil Perbarui Keterampilan dan ubah definisi keterampilan.
- Tambahkan parameter "disableCacheReprocessingChangeDetection=true" pada permintaan.
- Kirimkan perubahan.
Menyetel parameter ini memastikan bahwa hanya pembaruan pada definisi keterampilan yang dilakukan dan perubahan tidak dievaluasi efeknya pada cache yang ada. Gunakan versi API pratinjau, 2020-06-30-Pratinjau atau versi lebih baru. Kami merekomendasikan API pratinjau terbaru.
PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2024-05-01-preview&disableCacheReprocessingChangeDetection
Lewati pemeriksaan validasi sumber data
Sebagian besar perubahan pada definisi sumber data akan membatalkan singgahan. Namun, untuk skenario di mana Anda tahu bahwa perubahan tidak boleh membatalkan cache - seperti mengubah string koneksi atau memutar kunci pada akun penyimpanan - tambahkan ignoreResetRequirement
parameter pada pembaruan sumber data. Mengatur parameter ini ke true memungkinkan penerapan untuk dilewati, tanpa memicu kondisi reset yang akan mengakibatkan semua objek dibangun kembali dan diisi dari awal.
PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2024-05-01-preview&ignoreResetRequirement
Paksa evaluasi skillset
Tujuan singgahan adalah untuk menghindari pemrosesan yang tidak perlu, tetapi misalkan Anda membuat perubahan pada keterampilan yang tidak dideteksi oleh pengindeks (misalnya, mengubah sesuatu dalam kode eksternal, seperti keterampilan kustom).
Dalam hal ini, Anda dapat menggunakan Reset Skills untuk memaksa pemrosesan ulang keterampilan tertentu, termasuk keterampilan hilir yang memiliki ketergantungan pada output keterampilan tersebut. API ini menerima permintaan POST dengan daftar keterampilan yang harus dibatalkan dan ditandai untuk pemrosesan ulang. Setelah melakukan Reset Keterampilan, ikuti dengan permintaan Jalankan Pengindeks untuk menjalankan pemrosesan alur.
Meng-Cache ulang dokumen tertentu
Mereset pengindeks akan mengakibatkan semua dokumen di corpus pencarian diolah kembali.
Dalam skenario di mana hanya beberapa dokumen yang perlu diolah ulang, dan sumber data tidak dapat diperbarui, gunakan Reset Dokumen (pratinjau) untuk memaksa pemrosesan ulang dokumen tertentu. Saat dokumen direset, pengindeks membatalkan cache untuk dokumen tersebut dan dokumen diolah ulang dengan membacanya dari sumber data. Untuk informasi selengkapnya, lihat Menjalankan atau mereset pengindeks, keterampilan, dan dokumen.
Untuk mengatur ulang dokumen tertentu, permintaan menyediakan daftar kunci dokumen yang dibaca dari indeks pencarian. Jika kunci dipetakan ke bidang di sumber data eksternal, nilai yang Anda berikan harus yang digunakan dalam indeks pencarian.
Bergantung pada cara Anda menjalankanl API, permintaan akan menambahkan, menimpa, atau mengantre daftar kunci:
Memanggil API beberapa kali dengan kunci yang berbeda menambahkan kunci baru ke daftar reset kunci dokumen.
Memanggil API dengan parameter string kueri "timpa" yang disetel ke true akan menimpa daftar kunci dokumen saat ini yang akan disetel ulang dengan payload permintaan.
Memanggil API hanya mengakibatkan kunci dokumen ditambahkan ke antrean kerja yang dilakukan pengindeks. Ketika pengindeks berikutnya digunakan, baik sesuai jadwal atau sesuai permintaan, itu akan memprioritaskan pemrosesan kunci dokumen reset sebelum perubahan lain dari sumber data.
Contoh berikut mengilustrasikan permintaan reset dokumen:
POST https://[search service name].search.windows.net/indexers/[indexer name]/resetdocs?api-version=2024-05-01-preview
{
"documentKeys" : [
"key1",
"key2",
"key3"
]
}
Perubahan yang membatalkan singgahan
Setelah Anda mengaktifkan singgahan, pengindeks mengevaluasi perubahan komposisi alur Anda untuk menentukan konten mana yang dapat digunakan kembali dan yang perlu diolah kembali. Bagian ini menghitung perubahan yang membatalkan singgahan secara langsung, diikuti oleh perubahan yang memicu pemrosesan inkremental.
Perubahan yang tidak valid adalah perubahan di mana seluruh singgahan tidak lagi valid. Contoh perubahan yang tidak valid adalah salah satu tempat sumber data Anda diperbarui. Berikut adalah daftar lengkap perubahan pada bagian mana pun dari alur pengindeks yang akan membatalkan cache Anda:
- Mengubah jenis sumber data
- Mengubah kontainer sumber data
- Mengubah kredensial sumber data
- Mengubah kebijakan deteksi perubahan sumber data
- Mengubah kebijakan deteksi penghapusan sumber data
- Mengubah pemetaan bidang pengindeks
- Mengubah parameter pengindeks:
- Mode Penguraian
- Ekstensi Nama File Dikecualikan
- Ekstensi Nama File Terindeks
- Metadata penyimpanan indeks hanya untuk dokumen besar
- Header teks berbatas
- Pembatas teks berbatas
- Akar Dokumen
- Tindakan Citra (Perubahan pada cara gambar diekstraksi)
Perubahan yang memicu pemrosesan inkremental
Pemrosesan inkremental mengevaluasi definisi keterampilan Anda dan menentukan keterampilan mana yang akan dijalankan ulang, yang secara selektif memperbarui bagian pohon dokumen yang terkena dampak. Berikut adalah daftar lengkap perubahan yang mengakibatkan pengayaan inkremental:
- Mengubah jenis keterampilan (jenis keterampilan OData diperbarui)
- Parameter khusus keterampilan diperbarui, misalnya URL, default, atau parameter lainnya
- Output keterampilan berubah, keterampilan mengembalikan output tambahan atau berbeda
- Perubahan input keterampilan menghasilkan keturunan yang berbeda, rantai keterampilan telah berubah
- Setiap invalidasi keterampilan hulu, jika keterampilan yang menyediakan input untuk keterampilan ini diperbarui
- Pembaruan lokasi proyeksi penyimpanan pengetahuan, menghasilkan dokumen yang diproyeksikan ulang
- Perubahan proyeksi penyimpanan pengetahuan, menghasilkan dokumen yang diproyeksikan ulang
- Pemetaan bidang output yang diubah pada pengindeks menghasilkan proyeksi ulang dokumen ke indeks
API yang digunakan untuk penembolokan
Versi REST API atau yang 2020-06-30-Preview
lebih baru menyediakan pengayaan inkremental melalui properti tambahan pada pengindeks. Kami merekomendasikan API pratinjau terbaru.
Skillset dan sumber data dapat menggunakan versi yang tersedia secara umum. Selain dokumentasi referensi, lihat Mengonfigurasi penembolokan untuk pengayaan bertahap untuk detail tentang cara menggunakan API.
Membuat atau Memperbarui Pengindeks (api-version=2024-05-01-preview)
Membuat atau Memperbarui Skillset (api-version=2024-07-01) (Parameter URI baru pada permintaan)
Buat atau Perbarui Sumber Data (api-version=2024-07-01), saat dipanggil dengan versi API pratinjau, menyediakan parameter baru bernama "ignoreResetRequirement", yang harus diatur ke true saat tindakan pembaruan Anda tidak boleh membatalkan cache. Gunakan "ignoreResetRequirement" dengan hemat karena dapat menyebabkan inkonsistensi yang tidak diinginkan dalam data Anda yang tidak akan terdeteksi dengan mudah.
Langkah berikutnya
Pengayaan inkremental adalah fitur canggih yang memperluas pelacakan perubahan ke keterampilan dan pengayaan AI. Pengayaan inkremental memungkinkan penggunaan kembali konten yang diproses yang ada saat Anda melakukan iterasi melalui desain keterampilan. Sebagai langkah selanjutnya, aktifkan penembolokan pada pengindeks Anda.