Bagikan melalui


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

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 titik mengambang 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 bidang DateTimeOffset terbatas pada milidetik. Jika Anda mengunggah nilai DateTimeOffset 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 nilai DateTimeOffset 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 GeoJSON "Point". Untuk URL, OData menggunakan formulir harfiah berdasarkan standar WKT. Satu titik harfiah 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 hierarkis terstruktur seperti JSON. Objek dalam bidang jenis Edm.ComplexType dapat berisi objek berlapis, tetapi tingkat berlapis 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 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