Desteklenen veri türleri (Azure AI Search)
Bu makalede Azure AI Search tarafından desteklenen veri türleri açıklanmaktadır. Filtre ifadelerinde kullanılan alanlar ve değerler Varlık Veri Modeli'ne (EDM) göre yazılır. EDM veri türü belirtmek, alan tanımı için bir gereksinimdir.
Not
Dizin oluşturucular kullanıyorsanız, dizin oluşturucuların kaynağa özgü veri türlerini bir arama dizinindeki EDM veri türleriyle nasıl eşlediğini öğrenmek için bkz. Azure AI Search'te dizin oluşturucular için veri türü eşlemesi.
Vektör alanları için EDM veri türleri
Ekleme modelinizin çıkışı için vektör alan türü geçerli olmalıdır. Örneğin, text-embedding-ada-002 kullanıyorsanız çıkış biçimi veya Collection(Edm.Single)
olurFloat32
. Bu senaryoda, ilkel öğelere veri türü atama işlemi yasaklandığından float
int
veri türü atayamazsınızInt8
. Ancak, 'den Float32
veya (Collection(Edm.Half))
'ye Float16
yayınlayabilirsiniz.
Vektör alanları bir ekleme dizisidir. EDM'de dizi bir koleksiyondur.
Veri türü | Vektör türü | Description | Önerilen kullanım |
---|---|---|---|
Collection(Edm.Byte) |
İkili | 1 bit imzasız ikili. İçerik Oluşturucu veya Güncelleştirme Dizini'nde (2024-05-01-preview) itibaren kullanılabilir. | Cohere'in v3 ikili ekleme modelleri gibi ikili eklemeleri yayan modellerle tümleştirmeyi veya 1 bit imzasız ikili çıkış yayan özel niceleme mantığını destekler. türünde Collection(Edm.Byte) alanlar için , ikili veriler için alan tanımını ve vektör arama algoritmalarını belirtme konusunda yardım için bkz. İkili verileri dizinleme. |
Collection(Edm.Single) |
Float32 |
32 bit kayan nokta. İçerik Oluşturucu veya Güncelleştirme Dizini'nde (2023-07-01-Preview) başlayarak kullanılabilir. Bu veri türü daha yeni önizleme sürümlerinde ve kararlı sürümünde 2023-11-01 de desteklenir. |
Sizin adınıza vektör alanları oluşturan Microsoft araçlarındaki varsayılan veri türü. Duyarlık ve verimlilik arasında bir denge sağlar. Çoğu ekleme modeli vektörleri olarak Float32 yayar. |
Collection(Edm.Half) |
Float16 |
Daha düşük hassasiyete ve aralığa sahip 16 bit kayan nokta. İçerik Oluşturucu veya Güncelleştirme Dizini'nde (2024-03-01-preview) itibaren kullanılabilir. | Bellek ve hesaplama verimliliğinin kritik olduğu ve duyarlıktan ödünnin kabul edilebilir olduğu senaryolar için kullanışlıdır. Genellikle ile karşılaştırıldığında Float32 daha hızlı sorgu süreleri ve daha az bellek ayak izi sağlar, ancak doğruluk biraz daha azdır. Dizin Float32 eklemelerine olarak Float16 bir Float16 tür atayabilirsiniz. Yerel olarak yayılan Float16 modelleri veya özel niceleme işlemlerini eklemek için de kullanabilirsinizFloat16 . |
Collection(Edm.Int16) |
Int16 |
16 bit işaretli tamsayı. İçerik Oluşturucu veya Güncelleştirme Dizini'nde (2024-03-01-preview) itibaren kullanılabilir. | Daha yüksek duyarlıklı niceleme yöntemlerine Float32 kıyasla daha az bellek ayak izi sunar ve birçok uygulama için yeterli duyarlığı korur. Bellek verimliliğinin önemli olduğu durumlar için uygundur. Vektörleri olarak Int16 veren özel nicelemeniz olmasını gerektirir. |
Collection(Edm.SByte) |
Int8 |
8 bit işaretli tamsayı. İçerik Oluşturucu veya Güncelleştirme Dizini'nde (2024-03-01-preview) itibaren kullanılabilir. | veya Float16 ile karşılaştırıldığında Float32 önemli bellek ve hesaplama verimliliği kazançları sağlar. Ancak, duyarlıktaki azalmayı dengelemek ve uygun şekilde geri çağırmak için büyük olasılıkla ek teknikler (niceleme ve fazla örnekleme gibi) gerektirir. Vektörleri olarak Int8 veren özel nicelemeniz olmasını gerektirir. |
Seçici olmayan alanlar için EDM veri türleri
Veri türü | Açıklama |
---|---|
Edm.String |
Metin verileri. |
Edm.Boolean |
True/false değerlerini içerir. |
Edm.Int32 |
32 bit tamsayı değerleri. |
Edm.Int64 |
64 bit tamsayı değerleri. |
Edm.Double |
Çift duyarlıklı IEEE 754 kayan nokta değerleri. |
Edm.DateTimeOffset |
OData V4 biçiminde gösterilen tarih ve saat değerleri: yyyy-MM-ddTHH:mm:ss.fffZ veya yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm . Alanların duyarlığı DateTimeOffset milisaniyeyle sınırlıdır. Alt milisaniye duyarlıklı değerleri karşıya yüklerseniz DateTimeOffset , döndürülen değer milisaniyeye yuvarlanarak (örneğin, 2024-04-15T10:30:09.7552052Z olarak 2024-04-15T10:30:09.7550000Z döndürülür). Saat dilimi bilgilerini içeren değerleri dizininize yüklediğinizde DateTimeOffset Azure AI Search bu değerleri UTC olarak normalleştirir. Örneğin, 2024-01-13T14:03:00-08:00 olarak 2024-01-13T22:03:00Z depolanır. Saat dilimi bilgilerini depolamanız gerekiyorsa dizininize fazladan bir alan ekleyin. |
Edm.GeographyPoint |
Dünya üzerindeki bir coğrafi konumu temsil eden bir nokta. İstek ve yanıt gövdeleri için, bu türdeki değerlerin gösterimi GeoJSON "Nokta" türü biçimini izler. URL'ler için OData, WKT standardını temel alan değişmez bir form kullanır. Nokta değişmez değeri geography'POINT(lon lat)' olarak oluşturulur. |
Edm.ComplexType |
Özellikleri desteklenen diğer herhangi bir veri türünde olabilecek alt alanlarla eşlenen nesneler. Bu tür, JSON gibi yapılandırılmış hiyerarşik verilerin dizine alınmasını sağlar. Türünde Edm.ComplexType bir alandaki nesneler iç içe nesneler içerebilir, ancak iç içe yerleştirme düzeyi sınırlıdır. Sınırlar Hizmet sınırları bölümünde açıklanmıştır. |
Collection(Edm.String) |
Dize listesi. |
Collection(Edm.Boolean) |
Boole değerlerinin listesi. |
Collection(Edm.Int32) |
32 bit tamsayı değerlerinin listesi. |
Collection(Edm.Int64) |
64 bit tamsayı değerlerinin listesi. |
Collection(Edm.Double) |
Çift duyarlıklı sayısal değerlerin listesi. |
Collection(Edm.DateTimeOffset) |
Tarih saat değerlerinin listesi. |
Collection(Edm.GeographyPoint) |
Coğrafi konumları temsil eden noktaların listesi. |
Collection(Edm.ComplexType) |
türüne Edm.ComplexType sahip nesnelerin listesi. Belgedeki türdeki tüm koleksiyonlarda Edm.ComplexType öğe sayısı üst sınırı vardır. Ayrıntılar için bkz . Hizmet sınırları . |
İlkel ve karmaşık tür koleksiyonları dışında yukarıdaki türlerin tümü null değer atanabilir; örneğin, Collection(Edm.String)
. Boş değer atanabilir alanlar açıkça null olarak ayarlanabilir. Azure AI Search dizinine yüklenen bir belgeden atlandığında otomatik olarak null olarak ayarlanır. Koleksiyon alanları bir belgeden atlandığında otomatik olarak boş ([]
JSON olarak) olarak ayarlanır. Ayrıca, bir koleksiyon alanında null değer depolamak mümkün değildir.
Karmaşık koleksiyonlardan farklı olarak, özellikle ilkel türlerden oluşan bir koleksiyondaki öğe sayısı için üst sınır yoktur, ancak yük boyutundaki 16 MB üst sınır , koleksiyonlar da dahil olmak üzere belgelerin tüm bölümleri için geçerlidir.
Filtre ifadelerinde kullanılan jeo-uzamsal veri türü
Azure AI Search'te jeo-uzamsal arama bir filtre olarak ifade edilir.
Edm.GeographyPolygon , dünyadaki bir coğrafi bölgeyi temsil eden çokgendir. Bu tür belge alanlarında kullanılamasa da, işlevin geo.intersects
bağımsız değişkeni olarak kullanılabilir. OData'daki URL'ler için değişmez değer biçimi , WKT (İyi bilinen metin) ve OGC'nin basit özellik erişim standartlarını temel alır. Çokgen değişmez değeri geography'POLYGON((lon lat, lon lat, ...))' olarak oluşturulur.
Önemli
Çokgendeki noktalar saat yönünün tersine sıralanmalıdır . Çokgendeki noktalar, çokgenin içine göre saat yönünün tersine yorumlanır. Örneğin, Londra çevresindeki 4 noktalı kapalı poligon -0,3°W 51,6°N [sol üst] , -0,3°W 51,4°N [sol alt], 0,1°E 51,4°N [sağ alt], 0,1°E 51,6°N [sağ üst], -0,3°W 51,6°N [başlangıç noktası].