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.
Ukuran relevansi yang sebenarnya adalah seberapa baik serangkaian hasil yang diambil memenuhi kebutuhan informasi pelanggan dan pengguna Anda. Dalam artikel ini, pelajari tentang:
- Strategi utama untuk menghasilkan hasil yang relevan di Azure AI Search
- Mekanisme bagaimana relevansi diukur
- Tindakan yang dapat Anda ambil untuk meningkatkan relevansi
Strategi untuk hasil yang sangat relevan
Dalam Azure AI Search, dua strategi utama telah muncul sebagai pendekatan terbaik untuk menghasilkan hasil yang sangat relevan.
- Pencarian hibrid dengan reranker semantik
- Pengambilan agenik (pratinjau) dengan perencanaan kueri yang dibantu LLM dan rumusan jawaban
Pencarian hibrid (klasik) memberikan relevansi dengan menggabungkan presisi kueri kata kunci dan kesamaan semantik kueri vektor dalam permintaan pencarian yang menargetkan satu indeks. Pencarian kata kunci beroperasi melalui kueri verbatim. Pencarian vektor menjalankan kueri yang identik menggunakan versi vektor dari string yang sama. Kueri dijalankan secara paralel, mencari kecocokan yang tepat dan kemiripan semantik. Hasil digabungkan, diberi peringkat, lalu dikoorelkan ulang menggunakan ranker semantik yang mempromosikan kecocokan yang paling relevan. Menggunakan pencarian kata kunci dan vektor bersama-sama mengimbangi kelemahan setiap pendekatan sebagai solusi mandiri. Reranker semantik adalah komponen tambahan yang berkontribusi pada hasil yang lebih baik.
Pengambilan agenik (pratinjau) memberikan relevansi melalui integrasi cerdas dengan LLM dan pangkalan pengetahuan yang mendefinisikan seluruh domain pencarian. LLM dapat menganalisis dan mengubah kueri untuk pengambilan yang lebih efektif. Ini dapat memecah pertanyaan kompleks ke dalam subkueri terarah, memperjelas permintaan yang samar, atau meluaskan permintaan yang terbatas untuk cakupan yang lebih luas. Dalam beban kerja pengambilan agentik yang khas, LLM menjawab pertanyaan dengan menggunakan daya penalaran, konteks dari riwayat obrolan, dan instruksi pengambilan untuk mengidentifikasi konten terbaik dan memanfaatkannya sebaik mungkin. Kombinasi perencanaan kueri yang dibantu LLM, pencarian basis pengetahuan multi-sumber, dan penalaran LLM ini adalah bagaimana retrieval berbasis agen menghasilkan hasil yang sangat relevan.
Relevansi juga tergantung pada memiliki data grounding dengan kuantitas dan kualitas yang memadai. Dalam pengambilan agenik, Anda dapat mencantumkan beberapa sumber pengetahuan untuk memperluas cakupan apa yang dapat dicari dan memberikan logika untuk memilih sumber tertentu.
Bagaimana relevansi diukur
Terlepas dari bagaimana konten diambil, relevansi hasil tertentu ditentukan oleh algoritma peringkat yang mengevaluasi kekuatan kecocokan berdasarkan seberapa dekat kueri sesuai dengan konten di korpus pencarian. Ketika kecocokan ditemukan, algoritma menetapkan skor, dan hasil diberi peringkat oleh skor tersebut dan hasil teratas dikembalikan dalam respons.
Pemeringkatan terjadi setiap kali permintaan kueri adalah untuk pengambilan agensi dan pencarian klasik untuk kueri kata kunci, vektor, dan hibrida. Ini tidak terjadi jika kueri memanggil pencocokan pola yang ketat, seperti kueri khusus filter atau formulir kueri khusus seperti pelengkapan otomatis, saran, pencarian geospasial, pencarian fuzzy, atau pencarian ekspresi reguler. Skor pencarian seragam 1,0 menunjukkan tidak adanya algoritma peringkat.
Tingkat peringkat
Mesin kueri di Azure AI Search mendukung pendekatan multi-tingkat untuk memberi peringkat hasil pencarian, di mana ada modalitas peringkat bawaan untuk setiap jenis kueri, ditambah kemampuan peringkat tambahan untuk penyetelan relevansi yang diperluas.
Bagian ini menjelaskan tingkat operasi penilaian. Untuk ilustrasi tentang cara kerjanya bersama, lihat diagram dalam artikel ini. Perbandingan semua jenis dan rentang skor pencarian juga disediakan dalam artikel ini.
| Level | Description |
|---|---|
| Tingkat 1 (L1) | Skor pencarian awal (@search.score). Untuk kueri teks yang cocok pada string yang ditokenisasi, hasil selalu diberi peringkat awal menggunakan algoritma peringkat BM25. Untuk kueri vektor, hasil diurutkan menggunakan Hierarchical Navigable Small World (HNSW) atau K-nearest neighbor (KNN) secara menyeluruh. Pencarian gambar atau pencarian multimodal didasarkan pada kueri vektor dan dinilai menggunakan algoritma peringkat vektor L1. |
| Fusi L1 | Pemberian skor dari beberapa kueri menggunakan algoritma Reciprocal Ranking Fusion (RRF). RRF digunakan untuk kueri hibrid yang menyertakan komponen teks dan vektor. RRF juga digunakan ketika beberapa kueri vektor dijalankan secara paralel. Skor pencarian dari RRF tercermin dalam @search.scorerentang yang berbeda. |
| Tingkat 2 (L2) |
Skor pemeringkatan semantik (@search.reRankerScore) menggunakan pemahaman pembacaan mesin untuk menilai kembali konten tekstual yang diperoleh melalui pemeringkatan L1, sehingga hasil L1 lebih sesuai dengan maksud semantik kueri. L2 menyusun ulang hasil L1 karena ini menghemat waktu dan uang; akan terlalu mahal untuk menggunakan peringkat semantik sebagai sistem peringkat L1. Peringkat semantik adalah fitur premium yang dikenakan biaya saat menggunakan model peringkat semantik. Ini opsional untuk kueri teks dan kueri vektor yang berisi teks, tetapi diperlukan untuk pengambilan agenik (pratinjau). Meskipun pengambilan secara agenik mengirimkan beberapa kueri ke mesin kueri, algoritma peringkat untuk pengambilan secara agenik adalah peringkat semantik. |
| Tingkat 3 (L3) | Berlaku untuk pengambilan agenik (pratinjau) dan medium upaya penalaran pengambilan. Peringkat L3 mengacu pada pencarian berulang dan dipanggil ketika mesin pengambilan agenik dan LLM setuju bahwa lulus kueri kedua diperlukan untuk mengembalikan hasil yang lebih relevan. Untuk informasi selengkapnya, lihat Pemulihan Mediasi dan pencarian iteratif. |
Penyetelan relevansi
Penyetelan relevansi adalah teknik untuk meningkatkan skor pencarian berdasarkan kriteria tambahan seperti bidang tertimbang, kesegaran, atau kedekatan. Di Azure AI Search, opsi penyetelan relevansi bervariasi berdasarkan jenis kueri:
Untuk konten tekstual dan numerik (nonvector) dalam kata kunci atau pencarian hibrid, Anda dapat menyetel relevansi melalui profil penilaian atau memanggil peringkat semantik.
Untuk konten vektor dalam kueri hibrid, Anda dapat menimbang bidang vektor untuk meningkatkan kepentingan komponen vektor relatif terhadap komponen teks kueri hibrid.
Untuk kueri vektor murni, Anda dapat bereksperimen antara Hierarkis Navigable Small World (HNSW) dan tetangga terdekat K (KNN) yang lengkap untuk melihat apakah satu algoritma mengungguli yang lain untuk skenario Anda. Grafik HNSW dengan penimpaan KNN yang lengkap pada waktu kueri adalah pendekatan yang paling fleksibel untuk pengujian perbandingan. Anda juga dapat bereksperimen dengan berbagai model penyematan untuk melihat model mana yang menghasilkan hasil berkualitas lebih tinggi. Terakhir, ingatlah bahwa kueri hibrid atau kueri vektor pada dokumen yang menyertakan bidang nonvektor berada dalam cakupan penyetelan relevansi, jadi itu hanya bidang vektor itu sendiri yang tidak dapat berpartisipasi dalam upaya penyetelan relevansi.
Logika peningkatan peringkat kustom menggunakan profil penilaian
Profil penilaian adalah fitur opsional untuk meningkatkan skor berdasarkan kriteria tambahan yang ditentukan pengguna. Kriteria dapat mencakup bidang berbobot di mana kecocokan di bidang tertentu diberi bobot lebih dari kecocokan serupa di bidang lain. Kriteria juga dapat didefinisikan melalui fungsi yang ditingkatkan oleh kesegaran, kedekatan, besaran, atau rentang. Tidak terdapat biaya tambahan yang terkait dengan profil penilaian. Untuk menggunakan profil penilaian, Anda menentukannya dalam indeks lalu menentukannya pada kueri.
Logika penilaian berlaku untuk teks dan konten nonvektor numerik. Anda dapat menggunakan profil penilaian dengan:
- Pencarian teks (kata kunci)
- Kueri vektor murni
- Kueri hibrid, di mana subkueri teks dan vektor dijalankan secara paralel
- Kueri dengan peringkat semantik
Untuk kueri teks mandiri, profil penilaian mengidentifikasi 1.000 kecocokan teratas dalam pencarian peringkat BM25, dengan 50 kecocokan teratas dikembalikan dalam respons.
Untuk vektor murni, kueri hanya berisi vektor, tetapi jika dokumen yang sesuai dengan k menyertakan bidang nonvektor dengan konten yang dapat dibaca manusia, profil penilaian diterapkan pada bidang nonvektor dalam dokumen tersebut.
Untuk komponen teks kueri hibrid, profil penilaian mengidentifikasi 1.000 kecocokan teratas dalam pencarian berperingkat BM25. Namun, setelah 1.000 hasil tersebut diidentifikasi, mereka dipulihkan ke urutan BM25 asli mereka sehingga dapat direscor bersama vektor menghasilkan urutan Fungsi Peringkat Timbal Balik (RRF) akhir, di mana profil penilaian (diidentifikasi sebagai "penyesuaian peningkatan dokumen akhir" dalam ilustrasi) diterapkan pada hasil gabungan, bersama dengan pembobotan vektor, dan peringkat semantik sebagai langkah terakhir.
Untuk kueri berperingkat semantik (tidak ditampilkan dalam diagram), dengan asumsi Anda menggunakan pratinjau terbaru REST API atau paket Azure SDK pratinjau, profil pemeringkatan dapat diterapkan melalui kumpulan hasil peringkat L2, menghasilkan @search.rerankerBoostedScore baru yang menentukan peringkat akhir.
Jenis skor pencarian
Hasil yang diberi skor ditunjukkan untuk setiap pencocokan dalam respons kueri. Tabel ini mencantumkan semua skor pencarian dengan rentang terkait. Rentang bervariasi menurut algoritma.
| Score | Range | Algorithm |
|---|---|---|
@search.score |
0 hingga tidak terbatas | Algoritma peringkat BM25 untuk pencarian teks |
@search.score |
0.333 - 1.00 | HNSW atau algoritma KNN lengkap untuk pencarian vektor |
@search.score |
0 hingga batas atas yang ditentukan oleh jumlah kueri | Algoritma RRF |
@search.rerankerScore |
0.00 - 4.00 | Algoritma peringkat semantik untuk peringkat L2 |
@search.rerankerBoostedScore |
0 hingga tidak terbatas | Pemeringkatan semantik dengan pendorongan profil penilaian (skor dapat jauh lebih tinggi dari 4) |
Diagram algoritma peringkat
Diagram berikut menggambarkan bagaimana algoritma peringkat bekerja sama.
Note
Jika Anda menggunakan peringkat semantik, properti rankingOrder menentukan apakah hasilnya adalah hasil yang dinilai semantik (@search.rerankerScore) atau skor yang didorong ( @search.rerankerBoostedScore) yang dibuat setelah profil penilaian diterapkan.
Contoh permintaan yang termasuk semua algoritma peringkat
Kueri yang menghasilkan alur kerja sebelumnya mungkin terlihat seperti contoh berikut. Kueri semantik hibrid ini dinilai menggunakan RRF (berdasarkan skor L1 untuk teks dan vektor), dan peringkat semantik.
POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version=2025-11-01-preview
{
"search": "cloud formation over water",
"count": true,
"vectorQueries": [
{
"kind": "text",
"text": "cloud formation over water",
"fields": "text_vector,image_vector"
}
],
"queryType": "semantic",
"semanticConfiguration": "my-semantic-configuration",
"select": "title,chunk",
"top": 5
}
Respons untuk kueri sebelumnya mencakup RRF @search.core asli dan @search.rerankerScore.
"value": [
{
"@search.score": 0.03177805617451668,
"@search.rerankerScore": 2.6919238567352295,
"chunk": "A\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n32\n\nFraming an Iceberg\nSouth Atlantic Ocean\n\nIn June 2016, the Suomi NPP satellite captured this image of various cloud formations in the South Atlantic Ocean. Note how low \n\nstratus clouds framed a hole over iceberg A-56 as it drifted across the sea. \n\nThe exact reason for the hole in the clouds is somewhat of a mystery. It could have formed by chance, although imagery from the \n\ndays before and after this date suggest something else was at work. It could be that the relatively unobstructed path of the clouds \n\nover the ocean surface was interrupted by thermal instability created by the iceberg. In other words, if an obstacle is big enough, \n\nit can divert the low-level atmospheric flow of air around it, a phenomenon often caused by islands.",
"title": "page-39.pdf",
},
{
"@search.score": 0.030621785670518875,
"@search.rerankerScore": 2.557225465774536,
"chunk": "A\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n24\n\nMaking Tracks\nPacific Ocean\n\nShips steaming across the Pacific Ocean left this cluster of bright cloud trails lingering in the atmosphere in February 2012. The \n\nnarrow clouds, known as ship tracks, form when water vapor condenses around tiny particles of pollution from ship exhaust. The \n\ncrisscrossing clouds off the coast of California stretched for many hundreds of kilometers from end to end. The narrow ends of the \n\nclouds are youngest, while the broader, wavier ends are older.\n\nSome of the pollution particles generated by ships (especially sulfates) are soluble in water and can serve as the seeds around which \n\ncloud droplets form. Clouds infused with ship exhaust have more and smaller droplets than unpolluted clouds. As a result, light \n\nhitting the ship tracks scatters in many directions, often making them appear brighter than other types of marine clouds, which are \n\nusually seeded by larger, naturally occurring particles like sea salt.",
"title": "page-31.pdf",
},
{
"@search.score": 0.013698630034923553,
"@search.rerankerScore": 2.515575408935547,
"chunk": "A\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n16\n\nRiding the Waves\nMauritania\n\nYou cannot see it directly, but air masses from Africa and the Atlantic Ocean are colliding in this Landsat 8 image from August 2016. \n\nThe collision off the coast of Mauritania produces a wave structure in the atmosphere. \n\nCalled an undular bore or solitary wave, this cloud formation was created by the interaction between cool, dry air coming off the \n\ncontinent and running into warm, moist air over the ocean. The winds blowing out from the land push a wave of air ahead like a \n\nbow wave moving ahead of a boat. \n\nParts of these waves are favorable for cloud formation, while other parts are not. The dust blowing out from Africa appears to be \n\nriding these waves. Dust has been known to affect cloud growth, but it probably has little to do with the cloud pattern observed here.",
"title": "page-23.pdf",
},
{
"@search.score": 0.028949543833732605,
"@search.rerankerScore": 2.4990925788879395,
"chunk": "A\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n14\n\nBering Streets\nArctic Ocean\n\nWinds from the northeast pushed sea ice southward and formed cloud streets—parallel rows of clouds—over the Bering Strait in \n\nJanuary 2010. The easternmost reaches of Russia, blanketed in snow and ice, appear in the upper left. To the east, sea ice spans \n\nthe Bering Strait. Along the southern edge of the ice, wavy tendrils of newly formed, thin sea ice predominate.\n\nThe cloud streets run in the direction of the northerly wind that helps form them. When wind blows out from a cold surface like sea \n\nice over the warmer, moister air near the open ocean, cylinders of spinning air may develop. Clouds form along the upward cycle in \n\nthe cylinders, where air is rising, and skies remain clear along the downward cycle, where air is falling. The cloud streets run toward \n\nthe southwest in this image from the Terra satellite.",
"title": "page-21.pdf",
},
{
"@search.score": 0.027637723833322525,
"@search.rerankerScore": 2.4686081409454346,
"chunk": "A\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n38\n\nLofted Over Land\nMadagascar\n\nAlong the muddy Mania River, midday clouds form over the forested land but not the water. In the tropical rainforests of Madagascar, \n\nthere is ample moisture for cloud formation. Sunlight heats the land all day, warming that moist air and causing it to rise high into the \n\natmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case), \n\nbut not where it is descending (over the river). Landsat 8 acquired this image in January 2015.",
"title": "page-45.pdf",
}
]