Jenis data yang didukung (Search 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 Model Data Entitas (EDM). Menentukan jenis data EDM adalah persyaratan untuk definisi bidang.

Catatan

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

Jenis bidang vektor harus valid untuk output model penyematan Anda. Misalnya, jika Anda menggunakan text-embedding-ada-002, format outputnya adalah Float32 atau Collection(Edm.Single). Dalam skenario ini, Anda tidak dapat menetapkan Int8 jenis data karena transmisi dari float ke int primitif 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.Single) Float32 Titik mengambang 32-bit. Tersedia mulai dari Buat atau Perbarui Indeks (2023-07-01-Preview). Jenis data ini juga didukung dalam versi pratinjau yang lebih baru dan dalam versi 2023-11-01stabil . Jenis data default di alat Microsoft yang membuat bidang vektor atas nama Anda. Mencapai keseimbangan antara presisi dan efisiensi. Sebagian besar model penyematan memancarkan vektor sebagai Float32.
Collection(Edm.Half) Float16 Floating point 16-bit dengan presisi dan rentang yang lebih rendah. Tersedia mulai dari Buat atau Perbarui Indeks (pratinjau 2024-03-01). Berguna untuk skenario di mana memori dan efisiensi komputasi sangat penting, dan di mana mengorbankan beberapa presisi dapat diterima. Sering kali menyebabkan waktu kueri yang lebih cepat dan jejak memori yang berkurang dibandingkan dengan Float32, meskipun dengan akurasi yang sedikit berkurang. Anda dapat menetapkan Float16 jenis untuk mengindeks Float32 penyematan 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. Tersedia mulai dari Buat atau Perbarui Indeks (pratinjau 2024-03-01). Menawarkan pengurangan jejak memori dibandingkan Float32 dengan dan dukungan untuk metode kuantisasi presisi yang lebih tinggi sambil tetap mempertahankan presisi yang cukup 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. Tersedia mulai dari Buat atau Perbarui Indeks (pratinjau 2024-03-01). Memberikan keuntungan memori dan efisiensi komputasi yang signifikan dibandingkan Float32 dengan atau Float16. Namun, kemungkinan membutuhkan 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

Jenis data Deskripsi
Edm.String Data teks.
Edm.Boolean Berisi nilai true/false.
Edm.Int32 Nilai bilangan bulat 32-bit.
Edm.Int64 Nilai bilangan bulat 64-bit.
Edm.Double Nilai floating-point IEEE 754 presisi ganda.
Edm.DateTimeOffset Nilai tanggal dan waktu yang diwakili dalam format OData V4: yyyy-MM-ddTHH:mm:ss.fffZ atau yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. Presisi DateTimeOffset bidang terbatas pada milidetik. Jika Anda mengunggah DateTimeOffset nilai dengan presisi submillisecond, nilai yang dikembalikan dibulatkan ke atas hingga milidetik (misalnya, 2024-04-15T10:30:09.7552052Z dikembalikan sebagai 2024-04-15T10:30:09.7550000Z). Saat Anda mengunggah DateTimeOffset nilai dengan informasi zona waktu ke indeks Anda, Azure AI Search menormalkan nilai-nilai ini ke UTC. Misalnya, 2024-01-13T14:03:00-08:00 disimpan sebagai 2024-01-13T22:03:00Z. Jika Anda perlu menyimpan informasi zona waktu, tambahkan bidang tambahan ke indeks Anda.
Edm.GeographyPoint Titik yang mewakili lokasi geografis di dunia. Untuk badan permintaan dan respons, representasi nilai jenis ini mengikuti format jenis "Titik" GeoJSON. Untuk URL, OData menggunakan bentuk harfiah berdasarkan standar WKT. Harfiah titik dibangun sebagai geografi'POINT(lon lat)'.
Edm.ComplexType Objek yang propertinya memetakan ke subbidang yang dapat berupa jenis data lain yang didukung. Jenis ini memungkinkan pengindeksan data hierarki terstruktur seperti JSON. Objek dalam bidang jenis Edm.ComplexType dapat berisi objek berlapis, tetapi tingkat bersarang terbatas. Batas dijelaskan dalam Batas layanan.
Collection(Edm.String) Daftar string.
Collection(Edm.Boolean) Daftar nilai boolean.
Collection(Edm.Int32) Daftar nilai bilangan bulat 32-bit.
Collection(Edm.Int64) Daftar nilai bilangan bulat 64-bit.
Collection(Edm.Double) Daftar nilai numerik presisi ganda.
Collection(Edm.DateTimeOffset) Daftar nilai waktu tanggal.
Collection(Edm.GeographyPoint) Daftar titik yang mewakili lokasi geografis.
Collection(Edm.ComplexType) Daftar objek jenis Edm.ComplexType. Ada batasan jumlah maksimum elemen di semua koleksi jenis Edm.ComplexType dalam dokumen. Lihat Batas layanan untuk detailnya.

Semua jenis di atas dapat diubah ke null, kecuali untuk koleksi jenis primitif dan kompleks, misalnya, Collection(Edm.String). Bidang yang dapat diubah ke null dapat diatur secara eksplisit ke null. Mereka secara otomatis diatur ke null saat dihilangkan dari dokumen yang diunggah ke indeks Search Azure AI. 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 kumpulan 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 geo.intersects fungsi. Bentuk harfiah untuk URL di OData didasarkan pada standar akses fitur sederhana WKT (Teks terkenal) dan OGC. Literal poligon dibangun sebagai geografi'POLYGON((lon lat, lon lat, ...))'.

Penting

Poin dalam poligon harus dalam urutan berlawanan arah jaga. Titik-titik 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