Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.
Pencarian Azure AI menyimpan beberapa salinan bidang vektor yang digunakan dalam beban kerja tertentu. Jika skenario pencarian Anda tidak memerlukan semua salinan ini, Anda dapat menghilangkan penyimpanan untuk beban kerja tersebut.
Kasus penggunaan di mana salinan tambahan digunakan meliputi:
- Mengembalikan vektor mentah dalam respons kueri atau mendukung pembaruan inkremental ke konten vektor.
- Penilaian ulang vektor terkompresi (terkuantisasi) sebagai teknik pengoptimalan kueri.
Menghapus penyimpanan tidak dapat diubah dan memerlukan pengindeksaian ulang jika Anda ingin kembali.
Prasyarat
-
Bidang vektor dalam indeks pencarian, dengan konfigurasi yang
vectorSearchmenentukan algoritma Hierarkis Navigable Small Worlds (HNSW) atau K-Nearest Neighbor (KNN) yang lengkap, dan profil vektor baru.
Bagaimana bidang vektor disimpan
| Contoh | Penggunaan | Diperlukan untuk pencarian | Cara dihapus |
|---|---|---|---|
| Vektor dalam grafik HNSW untuk pencarian Perkiraan Tetangga Terdekat ( grafik HNSW) atau vektor untuk K-Nearest Neighbors (indeks eKNN) yang lengkap | Digunakan untuk menjalankan kueri. Terdiri dari vektor presisi penuh (ketika tidak ada kompresi yang diterapkan) atau vektor kuantisasi. | Penting | Tidak ada parameter untuk menghapus instans ini. |
| Vektor sumber diterima selama pengindeksan dokumen (data JSON) | Digunakan untuk penyegaran data secara inkremental dengan tindakan pengindeksan merge atau mergeOrUpload. Juga digunakan untuk mengembalikan vektor "dapat diambil" dalam respons kueri. |
Tidak. | Tetapkan properti stored ke false. |
| Vektor presisi penuh asli (data biner) 1 | Untuk vektor terkompresi, digunakan untuk preserveOriginals penilaian ulang pada kumpulan hasil kandidat yang telah melalui oversampling dari pencarian ANN. Ini berlaku untuk bidang vektor yang mengalami kuantisasi skalar atau biner, dan berlaku untuk kueri menggunakan grafik HNSW. Jika Anda menggunakan eKNN, semua vektor berada dalam cakupan untuk kueri, sehingga penilaian ulang tidak berpengaruh dan dengan demikian tidak didukung. |
Tidak. | Atur rescoringOptions.rescoreStorageMethod properti ke discardOriginals dalam vectorSearch.compressions. |
1 Salinan ini juga untuk operasi indeks internal dan untuk pencarian KNN lengkap dalam versi API yang lebih lama, pada indeks yang dibuat menggunakan API 2023. Pada indeks yang lebih baru, bidang yang dikonfigurasi eKNN terdiri dari vektor presisi penuh sehingga tidak diperlukan salinan tambahan.
Menghapus vektor sumber (data JSON)
Dalam definisi bidang vektor, stored adalah properti boolean yang menentukan apakah penyimpanan dialokasikan untuk konten vektor yang dapat diambil yang diperoleh selama pengindeksan (instans sumber). Secara default, stored diatur ke true. Jika Anda tidak memerlukan konten vektor mentah dalam respons kueri, mengubah stored untuk false dapat menyimpan hingga 50% penyimpanan per bidang.
Pertimbangan untuk pengaturan "stored": false:
Karena vektor tidak dapat dibaca manusia, Anda umumnya dapat menghilangkannya dari hasil yang dikirim ke LLM dalam skenario RAG atau dari hasil yang dirender di halaman pencarian. Namun, Anda harus menyimpannya jika Anda menggunakan vektor dalam proses hilir yang memerlukan konten vektor.
Jika strategi pengindeksan Anda menggunakan pembaruan dokumen parsial, seperti
mergeataumergeOrUploadpada dokumen yang ada, pengaturan"stored": falsemencegah Pencarian Azure AI mempertahankan vektor yang ada saat bidang vektor dihilangkan dari permintaan pembaruan. Anda harus menyertakan seluruh bidang vektor (dan bidang nonvektor yang Anda perbarui) di setiap operasi pengindeksan ulang. Jika tidak, data vektor hilang tanpa kesalahan atau peringatan. Untuk menghindari risiko ini sama sekali, atur"stored": true.
Penting
Pengaturan "stored": false atribusi tidak dapat diubah. Properti ini hanya dapat diatur ketika Anda membuat indeks dan hanya diizinkan pada bidang vektor. Memperbarui indeks yang ada dengan bidang vektor baru tidak dapat mengatur properti ini ke false. Jika Anda ingin mengambil konten vektor nanti, Anda harus menghilangkan dan membangun kembali indeks atau membuat dan memuat bidang baru yang memiliki atribusi baru.
Untuk bidang vektor baru dalam indeks pencarian, atur "stored": false untuk menghapus penyimpanan dapat diambil kembali secara permanen untuk bidang vektor. Contoh berikut menunjukkan definisi bidang vektor dengan stored properti .
PUT https://[service-name].search.windows.net/indexes/demo-index?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name": "demo-index",
"fields": [
{
"name": "vectorContent",
"type": "Collection(Edm.Single)",
"retrievable": false,
"stored": false,
"dimensions": 1536,
"vectorSearchProfile": "vectorProfile"
}
]
}
Ringkasan poin utama
Berlaku untuk bidang yang memiliki tipe data vektor.
Mempengaruhi penyimpanan pada disk, bukan memori, dan tidak berpengaruh pada kueri. Eksekusi kueri menggunakan indeks vektor terpisah yang tidak terpengaruh oleh
storedproperti karena salinan vektor selalu disimpan.Properti
storeddiatur selama pembuatan indeks pada bidang vektor dan tidak dapat diubah. Jika Anda ingin konten yang dapat diambil kembali nanti, Anda harus menghapus dan membangun ulang indeks atau membuat serta memuat bidang baru yang memiliki atribusi baru.Defaultnya adalah
"stored": truedan"retrievable": false. Dalam konfigurasi default, salinan yang dapat diambil disimpan tetapi tidak dikembalikan secara otomatis dalam hasil. Ketikastoredadalahtrue, Anda dapat beralihretrievableantaratruedanfalsekapan saja tanpa harus membangun kembali indeks. Ketikastoredadalahfalse,retrievableharusfalsedan tidak dapat diubah.
Menghapus vektor presisi penuh
Vektor presisi penuh asli digunakan dalam operasi penghitungan ulang atas vektor terkompresi (terkuantisasi). Tujuan penentuan skor ulang adalah untuk mengurangi kehilangan informasi karena kompresi. Efek penilaian skor ulang adalah pengambilan sekumpulan dokumen kandidat yang lebih besar dari indeks terkompresi, dengan menghitung ulang skor kesamaan menggunakan vektor asli atau produk titik. Agar penilaian ulang dapat berfungsi, vektor asli harus tetap tersimpan untuk skenario tertentu. Akibatnya, sementara kuantisasi mengurangi penggunaan memori (penggunaan ukuran indeks vektor), itu sedikit meningkatkan persyaratan penyimpanan karena vektor terkompresi dan asli disimpan. Penyimpanan tambahan kira-kira sama dengan ukuran indeks terkompresi.
Persyaratan penilaian ulang dengan pendekatan kuantisasi:
Penilaian ulang vektor terkuantisasi skalar memerlukan penyimpanan vektor presisi penuh asli.
Penilaian kembali vektor biner yang terkuantisasi dapat menggunakan vektor presisi penuh asli, atau hasil perkalian titik dari penyematan biner, yang menyediakan hasil pencarian berkualitas tinggi, tanpa harus mereferensikan vektor presisi penuh dalam indeks.
Rekomendasi menilai ulang skor:
Untuk kuantisasi skalar, pertahankan vektor presisi penuh asli dalam indeks karena diperlukan untuk penilaian ulang.
Untuk kuantisasi biner, pertahankan vektor presisi penuh asli untuk kualitas penilaian kembali tertinggi, atau abaikan vektor presisi penuh jika Anda ingin menilai kembali berdasarkan hasil perkalian titik dari penyematan biner.
Properti rescoreStorageMethod mengontrol apakah vektor presisi penuh disimpan. Dalam vectorSearch.compressions, properti rescoreStorageMethod diatur ke preserveOriginals secara default, yang mempertahankan vektor presisi penuh untuk kemampuan oversampling dan rescoring guna mengurangi efek kompresi lossy pada grafik HNSW. Jika Anda tidak perlu melakukan rescoring, jika Anda menggunakan kuantisasi biner dan produk titik untuk penilaian ulang, Anda dapat mengurangi penyimpanan vektor dengan mengatur rescoreStorageMethod ke discardOriginals.
Penting
rescoreStorageMethod Mengatur properti tidak dapat diubah dan dapat berdampak buruk pada kualitas pencarian, meskipun derajat tergantung pada metode kompresi dan mitigasi apa pun yang Anda terapkan.
Untuk mengatur properti ini:
Gunakan Buat Indeks atau Buat atau Perbarui Indeks REST API, atau Azure SDK.
vectorSearchTambahkan bagian ke indeks Anda dengan profil, algoritma, dan kompresi.Di bawah
vectorSearch.compressions, tambahkanrescoringOptionsdenganenableRescoringdiatur ke true,defaultOversamplingatur ke bilangan bulat positif, danrescoreStorageMethodatur kediscardOriginalsuntuk kuantisasi biner danpreserveOriginalsuntuk kuantisasi skalar.PUT https://[service-name].search.windows.net/indexes/demo-index?api-version=2026-04-01 { "name": "demo-index", "fields": [. . . ], . . . "vectorSearch": { "profiles": [ { "name": "myVectorProfile-1", "algorithm": "myHnsw", "compression": "myScalarQuantization" }, { "name": "myVectorProfile-2", "algorithm": "myHnsw", "compression": "myBinaryQuantization" } ], "algorithms": [ { "name": "myHnsw", "kind": "hnsw", "hnswParameters": { "metric": "cosine", "m": 4, "efConstruction": 400, "efSearch": 500 }, "exhaustiveKnnParameters": null } ], "compressions": [ { "name": "myScalarQuantization", "kind": "scalarQuantization", "rescoringOptions": { "enableRescoring": true, "defaultOversampling": 10, "rescoreStorageMethod": "preserveOriginals" }, "scalarQuantizationParameters": { "quantizedDataType": "int8" }, "truncationDimension": null }, { "name": "myBinaryQuantization", "kind": "binaryQuantization", "rescoringOptions": { "enableRescoring": true, "defaultOversampling": 10, "rescoreStorageMethod": "discardOriginals" }, "truncationDimension": null } ] } }
Catatan
Strategi penyimpanan vektor telah berkembang selama beberapa rilis terakhir. Tanggal pembuatan indeks dan versi API menentukan opsi penyimpanan Anda. Misalnya, dalam pratinjau 2024-11-01, jika Anda mengatur discardOriginals untuk menghapus vektor presisi penuh, tidak ada penilaian ulang untuk kuantisasi biner karena pendekatan produk titik tidak tersedia. Sebaiknya gunakan API terbaru untuk opsi mitigasi terbaik.