Jenis data yang didukung (Pencarian Azure AI)
Artikel ini menjelaskan jenis data yang didukung oleh Azure AI Search. Bidang dan nilai yang digunakan dalam ekspresi filter di ketik sesuai dengan Entity Data Model (EDM). Menentukan jenis data EDM adalah persyaratan untuk definisi bidang.
Nota
Jika Anda menggunakan pengindeks , lihat peta jenis data untuk pengindeks di Azure AI Search untuk informasi selengkapnya tentang cara pengindeks memetakan jenis data khusus sumber ke jenis data EDM dalam indeks pencarian.
Jenis data EDM untuk bidang vektor
Bidang vektor jenis harus valid untuk output model penyematan Anda. Misalnya, jika Anda menggunakan text-embedding-ada-002, format output Float32
atau Collection(Edm.Single)
. Dalam skenario ini, Anda tidak dapat menetapkan jenis data Int8
karena transmisi dari float
ke primitif int
dilarang. Namun, Anda dapat melemparkan dari Float32
ke Float16
atau (Collection(Edm.Half))
.
Bidang vektor adalah array penyematan. Di EDM, array adalah koleksi.
Jenis data | Jenis vektor | Deskripsi | Penggunaan yang disarankan |
---|---|---|---|
Collection(Edm.Byte) |
Biner | Biner 1-bit tidak bertanda tangan. Umumnya tersedia di Buat atau Perbarui Indeks (2024-07-01). | Mendukung integrasi dengan model yang memancarkan penyematan biner, seperti model penyematan biner Cohere v3. atau logika kuantisasi kustom yang memancarkan output biner 1-bit yang tidak ditandatangani. Untuk bidang jenis Collection(Edm.Byte) , lihat Indeks data biner untuk bantuan menentukan definisi bidang dan algoritma pencarian vektor untuk data biner. |
Collection(Edm.Single) |
Float32 |
Titik mengambang 32-bit. Umumnya tersedia di Buat atau Perbarui Indeks (2024-07-01). Jenis data ini juga didukung dalam versi pratinjau yang lebih baru dan dalam versi stabil 2023-11-01 . |
Jenis data default di alat Microsoft yang membuat bidang vektor atas nama Anda. Menyerang keseimbangan antara presisi dan efisiensi. Sebagian besar model penyematan memancarkan vektor sebagai Float32 . |
Collection(Edm.Half) |
Float16 |
Titik mengambang 16-bit dengan presisi dan rentang yang lebih rendah. Umumnya tersedia di Buat atau Perbarui Indeks (2024-07-01). | Berguna untuk skenario di mana memori dan efisiensi komputasi sangat penting, dan di mana mengorbankan beberapa presisi dapat diterima. Seringkali menyebabkan waktu kueri yang lebih cepat dan mengurangi jejak memori dibandingkan dengan Float32 , meskipun dengan akurasi yang sedikit berkurang. Anda dapat menetapkan jenis Float16 untuk mengindeks penyematan Float32 sebagai Float16 . Anda juga dapat menggunakan Float16 untuk menyematkan model atau proses kuantisasi kustom yang memancarkan Float16 secara asli. |
Collection(Edm.Int16) |
Int16 |
Bilangan bulat bertanda tangan 16-bit. Umumnya tersedia di Buat atau Perbarui Indeks (2024-07-01). | Menawarkan pengurangan jejak memori dibandingkan dengan Float32 dan dukungan untuk metode kuantisasi presisi yang lebih tinggi sambil tetap mempertahankan presisi yang memadai untuk banyak aplikasi. Cocok untuk kasus di mana efisiensi memori penting. Mengharuskan Anda memiliki kuantisasi kustom yang menghasilkan vektor sebagai Int16 . |
Collection(Edm.SByte) |
Int8 |
Bilangan bulat bertanda tangan 8-bit. Umumnya tersedia di Buat atau Perbarui Indeks (2024-07-01). | Memberikan keuntungan memori dan efisiensi komputasi yang signifikan dibandingkan dengan Float32 atau Float16 . Namun, kemungkinan memerlukan teknik tambahan (seperti kuantisasi dan pengambilan sampel berlebihan) untuk mengimbangi pengurangan presisi dan pengenalan dengan tepat. Mengharuskan Anda memiliki kuantisasi kustom yang menghasilkan vektor sebagai Int8 . |
Jenis data EDM untuk bidang nonvektor
Semua jenis di atas dapat diubah ke null, kecuali untuk koleksi jenis primitif dan kompleks, misalnya, Collection(Edm.String)
. Bidang nullable dapat diatur secara eksplisit ke null. Mereka secara otomatis diatur ke null saat dihilangkan dari dokumen yang diunggah ke indeks Azure AI Search. Bidang koleksi secara otomatis diatur ke kosong ([]
di JSON) saat dihilangkan dari dokumen. Selain itu, tidak dimungkinkan untuk menyimpan nilai null di bidang koleksi.
Tidak seperti koleksi kompleks, tidak ada batas atas khusus pada jumlah item dalam koleksi jenis primitif, tetapi batas atas 16-MB pada ukuran payload berlaku untuk semua bagian dokumen, termasuk koleksi.
Jenis data geospasial yang digunakan dalam ekspresi filter
Di Azure AI Search, pencarian geospasial dinyatakan sebagai filter.
Edm.GeographyPolygon adalah poligon yang mewakili wilayah geografis di dunia. Meskipun jenis ini tidak dapat digunakan dalam bidang dokumen, jenis ini dapat digunakan sebagai argumen untuk fungsi geo.intersects
. Bentuk harfiah untuk URL di OData didasarkan pada WKT (Teks terkenal) dan standar akses fitur sederhana OGC. Literal poligon dibangun sebagai geography'POLYGON((lon lat, lon lat, ...))'.
Penting
Poin dalam poligon harus berlawanan arah jarang. Poin dalam poligon ditafsirkan dalam urutan berlawanan arah jarang, relatif terhadap bagian dalam poligon. Misalnya, poligon tertutup 4 titik di sekitar London adalah -0,3°W 51,6°N [kiri atas] , -0,3°W 51,4°N [kiri bawah], 0,1°E 51,4°N [kanan bawah], 0,1°E 51,6°N [kanan atas], -0,3°W 51,6°N [titik awal].
Lihat juga
- Membuat Indeks
- Menambahkan, Memperbarui, atau Menghapus Dokumen
- gambaran umum
Indexer - Membuat pengindeks
- galeri sumber data